מושגים: קשיר. o בעל 1 קשתות בדיוק.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "מושגים: קשיר. o בעל 1 קשתות בדיוק."

Transcript

1 1 גרפים / חזרה כללית: סיכומים למבחן בקורס אלגוריתמים סמסטר א' (פרופ' מיכה שריר) מושגים: גרף: גרף,, V קבוצת קודקודים, קבוצת קשתות. מכוון: הקשתות הן זוגות סדורים, לא מכוון: הקשתות הן קבוצה בת שני איברים (הסדר הפנימי לא חשוב). לולאה: -, קשת מקודקוד לעצמו. קשתות מקבילות ואנטי מקבילות: קשתות בין אותם שני קודקודים (גרף לא מכוון; בגרף מכוון: כיוונים זהים). קשתות אנטי מקבילות: בגרף מכוון בלבד, קשתות בין אותם שני קודקודים אך בכיוונים הפוכים. גרף פשוט: גרף ללא קשתות מקבילות, אנטי מקבילות ולולאות. שכנות (צמתים): תהי קשת,, אזי a,b הן נקודות קצה של הקשת, ו- a ו- b שכנים אחד של השני. סמיכות (קשתות): זוג קשתות יקראו סמוכות אם יש להן נקודת קצה משותפת. דרגת צומת: מספר הקשתות היוצאות ממנו והנכנסות אליו. הגדרת דרגת יציאה ודרגת כניסה בהתאם. קודקוד מבודד: קודקוד שדרגתו 0. אם רק דרגת הכניסה שלו 0, יקרא מקור, ואם רק דרגת היציאה שלו 0, יקרא בור. תת-גרף: של, הוא גרף, כךש-, ו-. תת-גרף מושרה: תת-גרף הכולל את כל הקשתות ב- E המחברות את הצמתים ב-' V. מסילה/מסלול: סדרת צמתים,, כך שלכל 1., :1 אורך המסלול = מספר הקשתות בו. מעגל: מסלול כך ש-. מסלול/מעגל פשוט: אין חזרה על צמתים. קליק,Clique) לא מכוון): תת קבוצה של צמתים בה כל צומת מחובר לכל צומת אחר. גרף שלם: גרף בו V מהווה קליק, כלומר כל צומת בגרף מחובר בקשת לא מכוונת לכל צומת אחר בגרף. קבוצה ב"ת :(IS) ההיפך מקליק, תת קבוצה של צמתים בה אף זוג צמתים אינו מחובר בקשת. גרף דו-צדדי (לא מכוון): V הוא איחוד זר של 2 תתי קבוצות, ו-. כלומר, כל קשת מחבר בין צומת ב- לצומת ב-. נגישות: צומת u יהיה נגיש מצומת v אם קיים מסלול מ- v ל- u (כל צומת נגיש מעצמו). גרף קשיר (לא מכוון): גרף בו כל צומת נגיש מכל צומת אחר בגרף. רכיב קשירות: אם גרף אינו קשיר, רכיבי קשירות הם תתי-קבוצות מקסימליות של צמתים מהגרף כך שהגרף המושרה של כל תת-קבוצה כזו הוא גרף קשיר. כל גרף מתפרק לרכיבי קשירות זרים בצמתים ובקשתות. גרף קשיר בחוזקה: כל צומת נגיש מכל צומת אר בגרף במסלול מכוון. רכיב קשירות חזקה (רק"ח): אם גרף מכוון אינו קשיר חזקה, ניתן לפרקו לרכיבי קשירות חזקה שהם תתי-קבוצות מקסימליות של צמתים שתת הגרף המושרה של כל תת-קבוצה הוא גרף קשיר בחוזקה. בניגוד למקרה הלא מכוון, כאן יתכנו קשתות בין רק"חים. - DAG גרף אציקלי מכוון: גרף מכוון חסר מעגלים. ייצוג של גרפים:.1 עץ: DAG שהוא גם קשיר. אם אינו קשיר, אך כן חסר מעגלים, יהיה יער (כל רכיב קשירות שלו הוא עץ). תכונות עץ: קשיר. o כל שתיים מהתכונות האלה גוררות שזהו עץ חסר מעגלים. o בעל 1 קשתות בדיוק. o בין כל שני צמתים קיים מסלול אחד ויחיד. o עץ מכוון: עץ בו צומת כלשהו מוגדר כשורש, וכל הקשתות מכוונות אליו / ממנו. רשימות שכנות: לכל צומת יש מצביע לרשימת הצמתים השכנים לו. יתרון: זול בזיכרון, ; חסרון: יקר להגיע לכל שכן. מטריצת שכנויות: מטריצה בה.,1, יתרון: גישה מהירה; חסרון: בזבוז מקום (עבור גרפים מועטי קשתות). 0, /.2

2 2 :BFS: Breadth First Search חיפוש לרוחב: עבור גרף נתון, (מכוון או לא, נתייחס למכוון) וצומת התחלה s, האלגוריתם מבקר בכל צמתי הגרף הנגישים מ- s בלבד. הבדיקה נעשית על צמתים לפי סדר מרחקם מ- s : לכל שכבת מרחק תבוצע הבדיקה על כל הצמתים באותה שכבה לפני מעבר לשכבה הבאה. נחשב לכל צמתי הגרף את המק"ב (מסלול קצר ביותר) מ- s אליהם. לכל נחזיק: : אורך המסלול הקצר ביותר מ- s אל u שנתגלה עד כה. : מצביע לצומת הקודם באותו מק"ב שנתגלה עד כה. אופן פעולת האלגוריתם: משתמשים בתור המחזיק תחילה את s עם שדות מאותחלים:. 0, עבור כל צומת u שנוציא מהתור, החל ב- s, נבצע: לכל שכן v הנגיש מ- u נעדכן את שדותיו: 1., לאחר עדכון כל השכנים נצבע את u באפור, אינדיקציה לכך שעברנו עליו. נוציא את הצומת הבא מהתור ונבצע את אותן פעולות עד סיום. אם צבעו אפור, נדלג עליו (כבר בוצעו עליו הפעולות). סיבוכיות: (לינארית). סימון למק"ב: =, אורך המסלול הקצר ביותר מ- s אל u, או אם לא קיים מסלול מ- s אל u. תכונות וטענות:.1.2 כל תת מסלול של מק"ב הוא מק"ב. אם, אזי 1.,,.3 אם, הקשת האחרונה במק"ב מ- s אל,u אז 1.,,.4.5 אם u נגיש מ- s, אזי האלגוריתם מבקר בצומת u. בכל רגע, בתור Q נמצאים צמתים עם לכל היותר 2 ערכי d עוקבים בסדר d עולה. משפט: לכל צומת u מתקיים:, (טענת עזר: במהלך ריצת האלג' מתקיים לכל,:u.( שימושים: שאלת הנגישות מ- s. מציאת מק"בים מכל צומת נגיש מ- s. המק"ב יהיה רשימת הצמתים ההפוכה למצביעי ה- מ -u. הערות: האלג' מסדר את הצמתים הנגישים מ- s בשכבות לפי ערך ה- d שלהן. למשל s יהיה הצומת היחיד בשכבה 0. טענה: בגרף מכוון: כל קשת שאינה בשימוש ה- BFS מחברת כל צומת בשכבה j לצמתים בשכבה 1. בגרף לא מכוון: כל קשת מחברת צמתים באותה שכבה או בשכבות סמוכות. מצביעי ה- מהווים עץ מכוון שקשתותיו מצביעות לכיוון השורש, ושורשו הוא s. זהו עץ המק"בים. גרף לא מכוון הוא דו-צדדי לא קיים בו מעגל באורך אי זוגי. : אם גרף הוא דו"צ, כל צומת מעבירה אותנו מ- אל וחזרה, ולכן כדי לחזור לאותו צומת צריך מספר זוגי של קשתות במעגל. : מריצים מצומת s כלשהו.BFS מסתכלים על חלוקת הצמתים לפי השכבות המתקבלות מה- BFS. נטען שלא קיימות קשתות המחברות שני צמתים באותה שכבה j, אחרת היינו מקבלים מעגל שאורכו 2 1 (אי זוגי, בניגוד להנחה). לפיכך, כל קשת מחברת לצומת בשכבות הסמוכות (מההערות לעיל), ולכן נוכל לחלק את צמתי הגרף לשתי קבוצות לפי השכבות הזוגיות והאי זוגיות. לכן הגרף הוא דו"צ. תרגילים לדוגמא (מהתרגול):.1 עבור, (מכוון או לא), צור את גרף המק"בים מ-.., 1 אם פתרון: מריצים BFS מ- s, ונגדיר את הגרף החדש 'G באופן הבא:, הגרף לא מכוון, אז 1 או 1.,.2 עבור,, צור את גרף המק"ביםמ- ל-. פתרון: ניצור את גרף המק"בים מ- s שנסמנו 'G. אם t לא מופיע בו אזי אין מסלול מ- s אל t ונחזיר את הגרף הריק. אחרת נהפוך את כיווני הקשתות ב-' G ונמצא גרף מק"בים מ- t מתוך 'G, נסמנו ''G. נהפוך חזרה את קשתות ''G ונחזיר אותו הוא גרף המק"בים מ- s אל t.

3 3 מסלול ומעגל אויילר (מהתרגול): הגדרה: טענות: מעגל אויילר: מעגל (לא בהכרח פשוט) שעובר על כל קשת בדיוק פעם אחת. מסלול אויילר: אותו דבר רק מסלול. גרף לא מכוון וקשיר מכיל מעגל אויילר דרגות כל הצמתים בו זוגיות. כמו כן ניתן למצוא מעגל אויילר ב-. רעיון ההוכחה: אם גרף מכיל מעגל אויילר, כל פעם שנכנסים לצומת u גם יוצאים ממנו, לכן כל מעבר בצמתים הוא במספר זוגי של קשתות. צומת ההתחלה: הקשת הראשונה תורמת 1, האחרונה 1, וכל מעבר 2, לכן סה"כ זוגי. אם דרגות כל הצמתים זוגיות, נבנה מעגל באופן הבא: מתחילים מצומת u כלשהו. ממשיכים במסלול ממנו עד שחוזרים אליו, כאשר כל קשת שעוברים בדרך מוציאים מ- E. אם נותרו קשתות ב- E, נחזור על שלבים אלו החל מצומת u הנמצא על המעגל שבנינו עד כה ונותרו לו קשתות ב- E. נמשיך עד ש-. גרף לא מכוון וקשיר מכיל מסלול אויילר בגרף שני קודקודים מדרגה אי-זוגית והשאר בעלי דרגה זוגית. הוכחה דומה. גרף מכוון וקשיר מכיל מעגל אויילר : (דרגות היציאה והכניסה של כל צומת שוות). גרף מכוון וקשיר מכיל מסלול אויילר קיימים שני צמתים u,v כך ש: 1, 1 ולכל צומת, מתקיים: (ברור למה). :DFS: Depth First Search חיפוש לעומק: בשונה מה- BFS, בעת מציאת שכן של צומת, חא נמשיך לשאר שכניו אלא נמשיך לפתח את אותו שכן. רק כאשר יתקע יחזור אחורה וימשיך לשאר. שתי פרוצדורות: :DFS(G) מנהלת את החיפוש ע"י מעבר על כל צמתי הגרף, ועבור כל צומת שלא נתקלנו בו כבר (לפי שדה צבע), מבצעת ממנו חיפוש חדש. :DFS Visit(u) פרוצ' רקורסיבית המבצעת חיפוש בניסיון להגיע לכל מה שנגיש מצומת ההתחלה הנוכחי שעדיין לא ביקרנו בו. סיבוכיות:. שדות: צבע: לבן טרם נתקלנו בצומת; אפור נתקלנו אך טרם סיימנו (לא ביקרנו בכל צאצאיו); שחור סיימנו את הביקור בצומת. :time מונה המתאר את סדרת האירועים שהאלג' נתקל בהם. בכל פעימה: נתקלים בצומת חדש / מסיימים טיפול בצומת..(discovery) לראשונה הזמן בו ניתקלנו ב- u :. תמיד יתקיים:.(finish) הזמן בו סיימנו את הטיפול ב- u : u. הצומת הקודם שגילה את : האלג' משתמש ברשימת צמתים ללא הנחות על סדר כלשהו, לכן שינוי סדר הצמתים ברשימה יביא לפלט שונה. מצביעי יוצרים אוסף של עצים מכוונים לכיוון השורש, המכונה יער ה- DFS. מצביעי ההפוכים הם כיווני הקשתות המקוריים בגרף. תכונות: (1) עקרון הקינון: לכל צומת u מתאים אינטרוול זמן בו הוא פעיל:., לכל שני צמתים u,v מתקיים: או שהאינטרוולים שלהם זרים, או שאחד מוכל בשני (לא תתכן חפיפה חלקית). אם הם מקוננים, אזי הצומת v עם האינטרוול המוכל יהיה צאצא של u, לו האינטרוול המכיל, ביער ה- DFS. כיוון שהאלג' פועל ברקורסיה, ההוכחה ניתנת לפישוט ע"י תיאור החזקת הצמתים במחסנית. (2) סווג קשתות הגרף ע"י :DFS האלג' עובר על כל קשתות הגרף, ובחלקן משתמש לבניית עץ ה- DFS (הגדרת ). קשתות אלו יסומנו כקשתות עץ. סיווג שאר הקשתות: קשת קדמית: מחברת אב קדמון לצאצא. קשת אחורית: מחברת צאצא לאב קדמון (או לאב עצמו, אך לא קשת עץ). קשת חוצה: מחברת שני צמתים שאינם צאצא/אב קדמון. סיווג הקשתות בגרף מכוון: מסתכלים על, ברגע בו u בודק אותה: אם v לבן, זו קשת עץ: כיוון שזהו רגע ביצוע הקריאה הרקורסיבית. אם v אפור, זו קשת אחורית: הצבעה לצומת במסלול הנוכחי הנבדק, כלומר לצומת שהוא אב קדמון של v.

4 א( א( 4 סטולרמן אריאל הם: נמצאים בזמן ונתוןש-. לכן המקרים אם v שחור, זו קשת קדמית או חוצה: אנו חוצה (מצומת "מאוחר" u לצומת "מוקדם" v). אינטרוולים זרים): u,v אינם צאצא/אב-קדמון, לכן זו קשת o אינטרווים מקוננים): u אב קדמון של v, לכן זו קשת קדמית. o לא מכוון: הקשתות בגרף סווג לראשונה ב- u : ביחס לזמן בו הקשת מתגלית לראשונה. נניח, מתגלית זה יש רק קשתות עץ או קשתות אחוריות, במקרה זו קשת עץ. אם v לבן, היה אם v אינו לבן, זו קשת אאחורית: v התגלה כבר קודם, ו- v. צריך להיות במחסנית לפני u, כלומר אפור, אחרת אם זו קשת אחורית ). ולכן v אב קדמון של u (לכן את כל שכניו, בין היתר את. u לפיכך v חייב להיות במחסנית כבר היינו מגלים שחור אזי (3) עקרון המסלול הלבן: הראשון המתגלה במסלול ה- DFS הוא, אזי כל שאר הצמתים, ונניח שהקודקוד נניח ששב- G (מכוון או לא) קיים מסלול בעץ ה- DFS. מניחים כי צצאצא של וההוכחה באינדוקציה: יהיו צאצאים של. צאצא של מעקרון הקינון נובע ש-. שימושים: מכוון G: (1) מציאת רכיבי קשירות בגרף לא מתגלה אחרי ברגע זה או קודם ומסתיים לפניו. בין לבין, בודק את כל שכניו כולל את. לכן מתגלה. לפיכך מתקיים: הצומת הראשון ב- קשירות C הוא עץ: אם הוא רכיב קשירות ברור. כל רכיב הוא רכיב קשירות. כל עץ הוא מריצים,DFS וכל עץ ביער ה- DFS מקשר מ- לכל שאר צמתי C כי C הוא רכיב המסלול הלבן כל צמתי C הם צאצאים של (קיים מסלול C שה- DFS מגלה, אזי לפי עקרון קשירות). לאותו רכיב קשירות: (2) בדיקת שייכות שני צמתים u,v מהצמתים ע" "י מצביעי ונשווה שורשים. אחרי הרצת,DFS נגיע לשורש עץ ה- DFS של כל אחד (3) האם G (מכוון או ללא) מכיל מעגל : מעגל ב- G קיימת קשת אחורית. קיים (4) מיון טופולוגי של גרף מכוון אציקלי :(DAG) מיון טופולוגי אינו יחיד, התנאי היחיד הוא. מתקיים קשת, ) ) כך שלכל,, צמתי סידור G בסדר מלא f בסדר הפוך ) (צומת בעל הערך הגבוה ביותר יהיה ראשון במיון). שהקשתות יהיו מכוונות קדימה. מציאת מיון טופולוגי: הרצת,DFS ולקיחת ערכי. כיוון שאין מעגל אז אין לכל סוג קשת, ש- מיון טופולוגי (הוכחה לפי סוג הקשת: מראים מכוון אין מעגל קיים לו בגרף G אחוריות). קשתות (5) מציאת גשרים, קודקודים מנותקים ורכיבי דו-קשירות: אותו ללא קשיר). גשר: קשת שאינה נמצאת על מעגל, ומחיקתה תנתק את הגרף (תהפוך הקשתות היוצאות ממנו תנתק את הגרף. קודקוד מנתק: צומת שניתוקו יחד עם ניתוק כל מנתקים. ללא קודקודים תהפוך אותו ללא קשיר (למשל מעגל). או: גרף קשיר שניתוק קשת כלשהי לא גרף דו-קשיר: גרף קשיר (6) מציאת רכיבי קשירות חזקה בגרף מכוון: צומת ניתן להגיע לכל צומת אחר במסלול מכוון. אם לא, ניתן גרף מכוון הוא קשיר חזק אם מכל המושרה מכל רכיב הוא קשיר חזק. רכיבים לרכיבים זרים א ךמקסימלים, שהגרף לפרק את V אותו גרף רק שכל צומת הוא גרף הרקח" םי לכל גרף מכוון ניתן להסתכל על אלו הם רק"חים. אזי אותם רקח" "ים המשתתפים היה בו מעגל, רק"ח בגרף המקורי. גרף הרק"חים ייהיה :DAG אם קודם. היו באותו רק" "ח שהיה מתגלה במעגל האם הוא קשיר חזקה. דוגמא: נתון G מכוון, רוצים לבדוק פתרון : נקבע שרירותית צומת s כלשהו ונבדוק: הרצת DFS מ- s ובדיקה שקיבלנו עץ אחד ביער ה- DFS. אם לא קיבלנו עץ אחד בלבד, נשתמש להגיע מ- s לכל צומת אחר: האם ניתן מסלול לבן ולכן u צאצא של.ss u אינו בעץ (כלומר עדיין לבן) אך קיים מסלול מ- s אליו, זהו בעקרון המסלול הלבן: אם את הגרף ההפוך,,,, נריץ עליו DFS ונבדוק שמתקבל עץ אחד. אחר ל- s : נבנה להגיע מכל צומת האם ניתן אם הראנו את שני הנ "ל, אזי יש מסלול מכל לכל - פשוט עוברים דרך s.

5 5 חישוב רק"חים בגרף מכוון G: מריצים DFS על G ומסדרים את הצמתים לפי סדר f יורד, נסמן רשימה זו L. בונים את הגרף ההפוך. מריצים DFS על כאשר הפרוצדורה הראשית משתמשת ב- L בתור רשימת הצמתים. כל עץ ב- DFS השני הוא רק"ח (אם נהפוך את כיוון הקשתות שוב לכיוון המקורי שב- G ). טענות ותרגילים (מהתרגול, קשור לנקודה (5) לעיל): קשת (בגרף לא מכוון) אינה גשר היא נמצאת על מעגל פשוט בגרף. אם, אינה גשר, אזי לאחר הסרתה נשאר מסלול בין u ל- v, לכן היא נמצאת על מעגל פשוט (מסלול פשוט בין u ל- v בנוסף לקשת.(, גרף לא מכוון וקשיר ניתן לכיוון לגרף קשיר בחוזקה אין בו גשרים. : נסתכל על קשת, לאחר שכיוונו אותה. כיוון שהגרף המכוון החדש קשיר בחוזקה, יש מסלול גם מ- v אל u, ולכן, נמצאת על מעגל בגרף המכוון. הטענה הקודמת נובע שאינה גשר, וזה תקף לכל קשת בגרף. לכן בגרף אין גשרים. : מריצים DFS על הגרף, וכיוון שאינו מכוון מקבלים קשתות עץ וקשתות אחוריות בלבד. נכוון קשתות עץ מהורה לבן וקשתות אחוריות מצאצא לאב קדמון. נסמן את שורש העץ ב- s, ונראה שמ- s ניתן להגיע לכל צומת, ומכל צומת ל- s (וכך: מכל צומת ניתן להגיע לכל צומת). מסלול מ- s לצומת: על קשתות העץ. מסלול מצומת ל- s : מניחים באינדוקציה על צומת u ומוכיחים על צומת v הנמצאת עמוק יותר בעץ. לפי הנחה, אין גשרים ולכן כל קשת יושבת על מעגל. לפיכך קיימת קשת אחורית מ- v או צאצא שלו אל u או אב קדמון שלו ולכן מ- v ניתן להגיע לצומת שלפי הנחת האינדוקציה מתחבר ל- s. נתונה. רוצים לבדוק האם קיים מסלול (לא בהכרח פשוט) העובר בכל הצמתים ב- S. מוצאים את גרף הרק"חים של G ומיון טופולוגי לגרף זה. בתוך כל רק"ח קיים מסלול בין כל הצמתים מ- S הנמצאים בו. לפי סדר המיון הטופולוגי של הרק"חים, מוצאים ע"י DFS / BFS מסלול בין כל ל- (רכיבי הקשירות). נתון גרף מכוון G, רוצים למצוא קבוצה מינימלית S כך שלכל קיים כך שקיים מסלול מ- s אל v. מוצאים גרף רק"חים ל- G. לכל C (רכיב קשירות ב- G וצומת בגרף הרק"חים) שהוא מקור (אין קשתות שנכנסות אליו), בוחרים ומכניסים אותו ל- S. מבצעים מיון טופולוגי על הרק"חים ומוכיחים באינדוקציה על. אלגוריתם למציאת קודקודים מנתקים: אלגוריתם: נגדיר לכל צומת שדה שהוא: כמה גבוה בעץ ה- DFS ניתן להגיע מצומת u או צאצא שלו ע"י קשת אחורית (המרחק המינימלי מהשורש אליו ניתן להגיע). נריץ,DFS ולכל קודקוד שסיימנו לחשב את ערך ה- f שלו (סיים טיפול), נגדיר: בן ישיר של קשת,min אחורית. min,mindv, מתקיים: u (לא שורש) מנתק קיים w בן של. כך ש- u הוכחה: אם קיים w כזה, אזי לא ניתן להגיע ממנו להורה של u, לכן u מנתק. אם u מנתק, אז קיים w כנ"ל, אחרת מכל בן (או צאצא) של u ניתן להגיע לאב כלשהו של u, כלומר הסרת u לא ניתקה את הגרף, בסתירה. טענה: u מנתק יש לו לפחות שני בנים. טענה: לכל 2 רכיבי דו-קשירות יש לכל היותר קודקוד אחד משותף. הוכחה: נניח בשלילה שלשני רכיבי דו-קשירות, יש שני קודקודים משותפים.u,v נסתכל על. אף צומת שנמצא רק באחד מהם אינו קודקוד מנתק כיוון ש-, רכיבי דו-קשירות (מהגדרה). אם כן, אם ננתק את, u, לא יתנתקו מחוברים ע"י v. באופן דומה בניתוק v. לפיכך היה צריך להיות רכיב דו-קשירות אחד מלכתחילה כיוון שהוא תת גרף קשיר ללא קודקודים מנתקים. מסקנה: רכיבי דו קשירות מהווים חלוקה של קשתות הגרף. הוכחה: כל קשת בפני עצמה היא תת-גרף דו-קשיר ולכן שייכת לרכיב דו-קשירות. מהטענה לעיל נובע שאין קשת משותפת (=2 צמתים משותפים) לשני רכיבי דו-קשירות שונים.

6 6 :MST: Minimum Spanning Trees עצים פורשים מינימליים (עפ"מ): הקלט תמיד יהיה גרף לא מכוון וקשיר עם פונקציית משקלות על הקשתות :. עץ פורש: תת גרף של G שמכיל את כל צמתי הגרף והוא עץ (מורכבמ- 1 קשתות מ- E ). תמיד קיים כזה כי G קשיר. משקל עץ פורש: סכום משקלות קשתות העץ שהוא. נרצה למצוא עץ פורש מינימלי: עץ פורש בעל סכום משקלות מינימלי. עץ זה אינו יחיד בהכרח (למשל גרף בעל ערך w קבוע לכל קשת). אם יש משקלות שליליים, ניתן להוסיף להם 0 כלשהו וכך משקל כל עץ פורש יגדל בדיוקב- 1, ונקבל שעפ"מ עכשיו עפ"מ קודם. גישה חמדנית :(Greedy) נוסיף לעץ (מאותחל לריק) קשתות מ- G ונקפיד שלא יווצר מעגל. אם נצליח לבצע זאת 1 פעמים נקבל עץ פורש. בדרך נבחר את הקשתות הקטנות ביותר שנוכל (בכל צעד תבחר הקשת המינימלית האפשרית). גישה כללית: קבוצה מבטיחה: תת קבוצה כך שקיים עפ"מ המכיל את A A. לא חייבת להיות קשירה, אך ברור שאין בה מעגל. קב' מבטיחה. האלגוריתם: קשת בטוחה: אם A קב' מבטיחה ו-, אזי e קשת מבטיחה אם עדיין קב' מבטיחה. מאתחלים את A להיות הקבוצה הריקה. רצים בלולאה: כל עוד A אינו עץ פורש (1 ), הוסף קשת בטוחה e ל- A. נכונות: קבוצה ריקה תמיד מבטיחה, לכן האתחול נכון. תמיד קיימת קשת בטוחה e ל- A קב' מבטיחה, כיוון ש-, וכל, היא בטוחה מהגדרה. לבסוף: אם A עץ פורש מוכל בעפ"מ, אזי A הוא עפ"מ בעצמו. כל רכיב קשירות בגרף, הוא עץ שיכול להיות גם ללא קשתות. באתחול גרף זה יהיה בעל רכיבי קשירות. אם e קשת בטוחה ל- A, אז הוספתה ל- A תחבר בין שני עצים (זרים בצמתים כי אין מעגלים) ותקטין את מספר רכיבי הקשירות באחד. לאחר 1 צעדים נקבל רכיב קשירות אחד, שהוא העץ הפורש. חתך: פירוק של V לשתי קבוצות לא ריקות זרות כך ש-. קשת חוצה: חתך היא קשת המחברת צומת ב- לצומת ב-. חתך מכבד: את A (קב' מבטיחה) אם אין ב- A קשת חוצה (כל רכיב קשירות ב- A מוכל או ב- או ב- ). קשת חוצה קלה: בהינתן חתך, קשת תהיה חוצה קלה אם יש לה משקל מינימלי מבין כל הקשתות החוצות. טענה: תהא A קבוצה מבטיחה, יהא, חתך המכבד את A, ותהא, קשת חוצה קלה של החתך. אזי e קשת בטוחה עבור A. הוכחה: ידוע ש- T, עפ"מ. אם, סיימנו. אם : כיוון ש- T קשיר, קיימות קשתות ב- T החוצות את החתך (אחרת T לא קשיר). אם כן קיים מסלול כלשהו בין u ל- v, ב- T, עם קשת חוצה 'e. נחליף את 'e ב- e ונסמן את העץ החדש 'T. כיוון ש- e חוצה קלה: 'T. עץ: יש בו 1 קשתות; כמו כן מקיים:. כיוון ש- T מסקנה: יהי C רכיב קשירות של A, אזי החתך, \ מכבד את A, וקשת חוצה קלה בחתך זה בטוחה ל- A. עפ"מ אזי גם 'T עפ"מ, ולכן בטוחה. אלגוריתם Kruskal למציאת :MST אלגוריתם זה משתמש במבנה נתונים.Union set באיתחול כל צומת הוא set בפני עצמו, ורצים על הקשתות לפי משקל לא יורד. בכל שלב: אם הקשת מחברת בין שני רכיבי קשירות (sets) שונים, נוסיפה ל- A ונאחד את שני ה- sets שחיברה ל- set אחד. אם לא מחברת בין שניים שונים, נדלג עליה (מדלגים על קשתות שסוגרות מעגל). נכונות האלג': משקל מינימלי של e בחיבור שני רכיבי קשירות שונים: אם היתה 'e קלה יותר, אז בדקנו אותה קודם (בודקים לפי סדר משקלות לא יורד), ולפיכך נפסלה ולכן סגרה מעגל. אם כן גם בתמונה הנוכחית תסגור מעגל, ולא ניתן לבחור אותה. e בטוחה ל- A : נניח שמחברת ל- (שני רכיבים קשירות שונים). נסתכל על החתך e :,\ חוצה חתך זה, ולפי סדר הבדיקה היא הקלה מבין כל הקשתות החוצות חתך זה מכאן שהיא חוצה קלה. לכן לפי הטענה לעיל היא בטוחה ל- A. סיבוכיות: למימוש יעילlog.

7 7 אלגוריתם Prim למציאת :MST מתחזקים רכיב קשירות אחד C (מאותחל ל- ). בכל שלב מוצאים את הקשת הקלה ביותר המחברת צומת ב- C לצומת במשלים של C אותו צומת במשלים עובר לתוך C. האלג' לא פועל על קשתות אלא על צמתים: כל צומת במשלים (\) מחזיק key של משקל הקשת המינימלי בינו לבין מישהו ב- C. מחזיקים את כל הצמתים (המשלים של C) בתור עדיפויות. בכל שלב מוצאים את הצומת עם ה- key המינימלי (extract min) ומוסיפים אותו ל- C, מעדכנים את ה- keys של שכניו (הנמצאים במשלים) ע"י.decrease key נכונות: מיידית מהטענה: אם נסתכל על החתך, \ (כאשר \ הוא תור העדיפויות), אזי כל צומת שמוציאים מ- \ מחובר בקשת חוצה קלה ל- C, לכן זו קשת בטוחה. סיבוכיות: log להוצאות מהתור, log הפחתות מפתח בערימה בינארית או בערימת פיבונצ'י. סה"כ: log בערימה בינארית או log בערימת פיבונצ'י חיסכון לעומת Kruskal ל- E גדול. תכונות עפ"מים (נובעים מאלג' :(Kruskal פלט האלג' של קרוסקל תלוי בסדר מיון הקשתות. אם לכל הקשתות משקלים שונים, האלג' מייצר עץ יחיד. טענה: האלג' של קרוסקל מסוגל לייצר כל עפ"מ אפשרי (מכאן: אם המשקלים שונים, יש עפ"מ יחיד) טענה: תהי : עולה ממש, ו- G עם פונ' משקלות w על הקשתות. נגדיר ומתקיים: T עפ"מ לפי T w עפ"מ לפי. הוכחה: עבור Tעפ"מ מסוים, נסדר את הקשתות ב- G לפי סדר w עולה כך שקרוסקל יבנה את T. אותו סדר בדיוק יהיה עבור. טענה: עפ"מים שונים נבדלים בקשתות שלהם אך לא במשקל קשתותיהם: יהיו, שני עפ"מים שונים. אזי אם נסדר את משקל קשתותיהם לפי סדר עולה:,. לפי המשקלות 1,.1 1: אזי:,, ו-,, הוכחה: נניח בשלילה שלא מתקיים, וקיים אינדקס j כך שבה"כ:. נגדיר פונ' עולה ממש: החדשים מתקיים: ה-" 1 +" יהיה אם המשקלים הללו שונים מ- ; ועבור :y. 1 1 כלומר: המשקל הכולל של העץ הראשון ישתנה לכל היותרב- 1, והשני ישתנה בדיוק ב-, לכן בכל מקרה משקלם יהיה שונה בסתירה לשמירת עפ"מ תחת f עולה ממש. טענות ותרגילים (מהתרגול): פתרון: נתון גרף מכוון וקשיר עם פונ' משקלות על הקשתות. כל קשת צבועה באדום או כחול. למצוא עפ"מ עם מספר מקסימלי של קשתות אדומות. נשנה את אחד האלג' למציאת עפ"מ באופן הבא: השוואת קשתות ע"י תוגדר: w קלה מ- או אם:, אדומה ו- כחולה. א. ב. או הוכחה: נגדיר פונ' משקלות חדשה 'w: אם e כחולה אז ואם e אדומה אז כך ש- קטן מספיק כדי שההשוואה בין הקשתות תהיה שקולה להגדרה בפתרון. כמו כן נניח קטן מספיק כך שלכל שני עצים פורשים:. העץ T שהפתרון מחזיר מביא למינימום את, בגלל שקילות הפתרון להגדרת 'w. כעת נותר להראות: T הוא עפ"מ לפי w: אם קיים לכל עפ"מ אחר.w' לפי עפ"מ בסתירה לכך ש- T אזי כךש- יש מספר קטן או שווה של קשתות אדומות: w לפי מסלולים קצרים (קלים) ביותר מק"בים: נתון גרף G מכוון או לא, ופונ' משקלות על הקשתות : (יכול להיות שלילי). משקל מסלול = סכום המשקלות שעל קשתות המסלול. לזוג צמתים u,v נגדיר =, המשקל המינימלי של מסלול המחבר את u ל- v (אם קיים; אחרת). בעיות single source או :shortest paths עבור צומת התחלה s נרצה לחשב את כל הגדלים, לכל (להבדיל מבעיית S.P..(All pairs הנחה: אין מעגלים שליליים (סכום משקל הקשתות במעגל שלילי) נגישים מ- s. אם היו, אזי כל הצמתים u שיש מסלול אליהם מ- s העובר במעגל היו מקיימים., מעגלים במשקל 0 הם תקינים, פשוט ניתן להחליט לעבור בהם מספר כלשהו של פעמים. אם אכן אין מעגלים שליליים אזי: תמיד קיים מק"ב פשוט (לא עובר באותו צומת פעמיים) מ- s לכל u הנגיש אליו.

8 8 תכונות מק"בים: תת-מסלול של מק"ב הוא מק"ב. אשמ"ש: אם, אזי,.,, אם u צומת אחד לפני v על מק"ב מ- לs.,, אז מתקיים השוויון:, v- אם 1 אזי משקל המסלול שווה למספר הקשתות על המסלול, והבעיה נפתרת ע"י.BFS באופן דומה ל- BFS, יוחזקו השדות הבאים לכל צומת: אלגוריתם כללי: : משקל המק"ב מ- לs -u שהתגלה עד כה. מאותחל ל- ) מאותחל ל- 0 ). מצביע לצומת הקודם על המק"ב שהתגלה עד כה. מאותחל ל- null. : פרוצדורת העדכון :Relax הפעלת relax על, בודקת אם,. אם כן, נעדכן את ואת. לאחר איתחול עוברים על הקשתות בסדר כלשהו כל עוד יש relax משפר. כשאין relax משפר עוצרים. אלג' זה לא יעצור אם יש מעגל שלילי נגיש מ-. אם אין מעגלים שליליים, האלג' תמיד יעצור ובסופו יתקיים לכל,:u s. לכל u: יורד מונוטונית במהלך האלג'; תמיד מתקיים,. עץ המק"בים: טענה: בכל רגע שהוא, מצביעי ה- שאינם null (אך כולל s) יוצרים עץ מכוון כלפי השורש, והשורש הוא s. הוכחה: הגרף המורכב ממצביעי הוא קשיר וחסר מעגלים, ולכל u שאינו מצביע ל- null מסלול יחיד לכיוון s כיוון ששדה יחיד. אם המסלול מסתיים ב- כך ש- אזי. נניח שלא, אז נסתכל על ה- relax שנעשה על, שהביא ל-., : מכאןש- (כי ה- relax נעשה). אם אכן, אז הפעם הראשונה ש-. לכן. לעולם, בסתירה לכך ש- null ולא יקבל null מקבל ערך שאינו ואז מקבל ערך סופי הוא ב- relax, אין מעגל: נניח שיש מעגל, באמצעות חיבור אי-שוויונים נקבל שהמעגל הוא שלילי. בעץ המק"בים מתקיים: כל צומת בעץ הוא צומת שנגיש מ- s בגרף המקורי: נניח u נגיש מ- s, אזי -, קיבל ערך שונה מ- null ולכן u בעץ. המסלול (ההפוך) מכל צומת לשורש s הוא מק"ב בגרף המקורי: מניחים באינדוקציה על עומק השורש k. מתקיים: אורך מסלול מסוים מ- s ל-, חישוב מק"בים ב- DAG :,, ולכן אותו מסלול מסוים הוא מק"ב. מבצעים מיון טופולוגי על G, וניתן להתעלם מכל הצמתים הקודמים ל- s במיון. נבצע איתחול, נעבור על כל צומת לפי סדר המיון הטופולוגי ונבצע relax על כל הקשתות היוצאות ממנו. נכונות: כאשר הלולאה המרכזית מגיעה לצומת u, מתקיים,. אינדוקציה על סדר המיון הטופולוגי: נניח נכונות עד v כאשר הוא מק"ב, וכל הקודמים ל- u נמצאים לפניו במיון. לפי הנחה:, כשמגיעים ל- v, ואז מבצעים relax על הקשתות כולל, ומתקיים לאחר מכן:,.,, אגף ימין הוא תת-מסלול של מק"ב + אורך הקשת. אזי:, כיוון שתמיד גם,., לכן סה"כ שווה ל-,, אלגוריתם של :Ford הקלט הוא גרף כללי, משקלות שליליים אפשריים (לא מעגלים שליליים). אתחול כרגיל. הלולאה: כל עוד קיימת קשת עם relax משפר, נבצע אותו. בסיום מתקיים, לכל u. זמן הריצה יכול להיות נוראי: יתכן סדר relax שיגרום ל- 2 צעדים. אלגוריתם :Bellman Ford אם אין מעגלים שליליים אזי תמיד קיים מק"ב פשוט, כלומר לכל היותר בעל 1 קשתות. האלג' עושה 1 איטרציות, כאשר בכל אחת הוא מבצע relax על כל הקשתות. סיבוכיות:. הוכחה באינדוקציה על k מספר האיטרציה (של הלולאה הרצה עד 1 ). אם עדיין קיים relax משפר, החלק השני של האלגוריתם מגלה זאת ומחזיר = false קיימים מעגלים שליליים בגרף. הוכחה: אם אין מעגל שלילי, ראינו שמתקיים בסוף לכל,:u. אם יש מעגל שלילי, נטען שיש relax משפר: אחרי 1 האיטרציות כל ערכי ה- d קטנים מ-. אם נניח שאכן אין relax משפר נקבל אי-שוויונים מהצורה: ), צמתים במעגל). אם נחבר את כולם יחד ונקבל:, 0 מעגל אי-שלילי, בסתירה.

9 9 אלגוריתם של :Dijkstra הנחה: משקלות אי-שליליים. שימוש בתור עדיפויות Q המאותחל ל- V, וקבוצה S המאותחלת ל- שתחזיק את כל הצמתים שכבר הוצאנו מ- Q וחישבנו את ערך ה- שלהם. התור מנוהל לפי ערכי ה- d. לכל extract min שמבוצע על Q, מבצעים relax על כל שכניו (הנמצאים ב- Q עדיין. relax על אלו שלא ב- Q אינו רלוונטי). אם ה- relax משפר, זה גורר decrease key על אותו שכן הנמצא ב- Q. ההבדל מ- Bellman Ford : כאן כאשר צומת כלשהו מוצא מהתור, בטוח לא ישופר עוד ערך ה- d שלו. B F מחכה כל הזמן לשיפורים נוספים. סיבוכיות: על כל צומת וכל קשת עוברים פעם אחת: + פעולות על Q: פעולות + extract min פעולות.decrease key סה"כ: ערימה בינומית:, log ערימת פיבונצ'י:. log נכונות: כאשר מוציאים v מהתור מתקיים,, הוכחה באינדוקציה על סדר ההוצאה מהתור: s ברור. נניח הבא לצאת הוא v. נסתכל על המק"ב מ- s ל- v, שחלקו צמתים ב- S וחלקו ב- Q. נסמן את האחרון שב- S (כשיוצאים מ- s ) ב- x, והראשון שלא ב- S ב- u. כאשר x יצא מ- Q מתבצע כיוון ש- v. ולכן,,,, ומתקיים אי השוויון הרגיל:,, על relax יוצא כעת מהתור, ו- u טרם יצא, יתקיים:. כעת מתקיים:,, ולכן,., כמו כן מתקיים:,,, ולכן,., מכאן שאי השוויון הראשון הוא בעצם שוויון, ובפרט:,. תרגילים: למצוא מק"ביםמ-.: 0,1,2 גרף מכוון עם G פתרון: משתמשים בעובדה שסיבוכיות זמן ריצה של Dijkstra היא. _ _ נממש תור עדיפויות בצורה יעילה יותר באופן הבא: כל המק"בים פשוטים (אין משקלות שליליים) ולכן משקל מסלול הוא לכל היותר 1.2 נחליף את ב ונחזיק מערך באורך זה, שיחזיק רשימות מקושרות דו כיווניות: בכל אינדקס i במערך יהיו כל הצמתים שערך ה- d שלהם הוא i. לצמתים גם יהיה מצביע למקום ברשימה המצביע אליהם חזרה. ואז מתקיים:.1 מחיקת מצביע מהרשימה בה נמצא במערך והשמת מצביע לצומת בראש הרשימה באינדקס החדש :decrease key extract מציאת האיבר הראשון במערך שלא מכיל רשימה ריקה. נחזיק משתנה עזר להיכן הגענו, כי כל קריאה באה ל- :extract min min תחזיר ערך גדול או שווה לקודמו. סה"כ נעבור על כל הצמתים פעם אחת לכל הקריאות = 1 לקריאה. סה"כ:. נתון G מכוון,,, :, כל קשת צבועה אדום / כחול. למצוא מק"ב מ- s ל- t בעל מספר זוגי של קשתות אדומות. פתרון: ניצור גרף חדש 'G באופן הבא: לכל צומת v ב- V יהיו שני צמתים, ב-' V ; לכל קשת, יהיו הקשתות:,,, אם, כחולה.,,, אם, אדומה. נריץ Dijkstra מ- ונחזיר את המק"ב מ- ל-. נכונות: מההגדרות נובע שקיים מסלול מ- ל- אמ"מ קיים מסלול מ- s ל- t באותו אורך ובעל מספר זוגי של קשתות אדומות, בפרט מק"ב. מק"בים בין כל זוגות הצמתים Paths :All Pairs Shortest פתרונות נאיביים: אם יש משקלות שליליים (לא מעגלים שליליים), נריץ BF פעמים, כל פעם עם צומת אחר כצומת התחלה. זמן ריצה: ויכול להגיע עד. אם אין משקלות שליליים נבצע Dijkstra פעמים וזמן הריצה יהיה log שזה לכל היותר. נשתמש ביצוג מטריציאלי של הגרף, כאשר לצמתים מספרים סידוריים 1 עד n. 0,,, (מטריצת משקלות).,,,, מטריצה :W

10 10 מטריצה D: מטריצה שתחזיק את אורכי המסלולים הקצרים ביותר שהתגלו עד כה בין כל i לכל j. אתחול אפשרי: לקחת את W., מטריצה : מטריצת המצביעים במסלול הטוב ביותר שהתגלה עד כה. איתחול:.,,,,, אלגוריתם ראשון (כמו :(B F נסמן את מטריצת התשובה (מטריצת המק"בים) ב-' D, ונגדיר:., :, נגדיר פעולת "כפל" מטריצות: min,,min,,.( " " נשתמש ב-"+" (למשל: ובמקום כאשר במקום "+" נשתמש ב-" min ",, min,, הוכחנו שמספיק לבצע 1 איטרציות ב- B F, ולכן מטריצת המק"בים תהיה. סיבוכיות: קל להוכיח ש"כפל" המטריצות שהוגדר לעיל אסוציטיבי ולכן ניתן להשתמש ב- log הכפלות במקום ב- n הכפלות. נקבל:. log הערה: האתחול נחשב לאיטרציה ראשונה, לכן נבצע "כפל" רק 2 פעמים בפועל. הערות:.1 מציאת מעגלים שליליים: כמו,B F לאחר סיום כל ההכפלות, נבצע הכפלה נוספת ונבדוק האם היא משפרת שלילי. אופציה נוספת: אחרי סיום (כלה- 1 איטרציות) נבדוק אם יש ערך שלילי על האלכסון., עדכון מטריצת : אם איזשהו relax שיפר, ניקח את אותו ערך k אליו שיפרנו ונבצע., עדכון בגרסה המהירה: עבור ה- k מה- relax המשפר נבצע את ההשמה:.,, כלשהו. אם כן אז יש מעגל מקום: אין צורך בעותקים של D. באופן נאיבי מספיק להחזיק שניים: כל תוצאה חדשה נשים בעותק האחר. ניתן גם עם עותק אחד. תרגילים: נתונים n סוגי מטבעות,, ומטריצת המרה בה: כמה מטבעות מסוג j נקבל עבור מטבעות מסוג. i רוצים לבדוק האם קיים.,,, מסלול המרה שיביא לרווח, כלומר אינדקסים כךש: 1 נבנה גרף מכוון שלם שקודקודיו הם כל. log, log, פתרון: מוציאים log משני האגפים ומקבלים 0 ולכל קשת, ניתן את המשקל. log כעת הבעיה שקולה למציאת מעגל שלילי בגרף, וזאת ניתן ע"י.B F כיוון שהמעגל שלם, אז כל צומת נגיש מכל צומת ולכן ניתן לבצע B F מכל צומת שהוא. זמן ריצה:. נתונה מערכת אי-שוויונים על המשתנים,, מהצורה:. רוצים למצוא פתרון למערכת או להוכיח שלא קיים כזה. פתרון: נבנה גרף שלם לא מכוון שצמתיו הם כל ומשקל כל קשת, הוא הגרף. נטען כי קיים פתרון למערכת אמ"מ אין מעגל שלילי בגרף שיצרנו:. נוסיף לגרף צומת חדש s עם קשתות במשקל 0 לכל צמתי אם נניח שיש מעגל שלילי, אזי סיכום אי השוויונות המתאימים יביאו לסתירה. אם נניח שאין מעגל שלילי, אז B F מחזיר לכל את., נראה שהצבת ערכים אלו הם פתרון למערכת: לכל, צריך להתקיים וזה אמ"מ,,, ומכאן מתקבל אי שוויון בסיסי לגבי מק"בים. נתון גרף מכוון ללא מעגלים שליליים ופונ' משקלות. לכל v נגדיר:. min, למצוא את. פתרון: נוסיף צומת חדש s עם קשתות במשקל 0 לכל צמתי הגרף. נריץ B F ונחזיר לכל את., נכונות: מתקיים ש-., min,, min, נתון גרף מכוון עם פונ' משקלות וללא מעגלים שליליים. רוצים להחזיר True אמ"מ קיים מעגל במשקל 0 בגרף. פתרון: נוסיף לגרף צומת חדש s עם קשתות במשקל 0 לכל צמתי הגרף. נריץ B F מ- s ונבנה מתוצאותיו את גרף המק"בים 'G (בו קשת מופיעה רק אם היא חלק ממק"ב ב- G ). בעזרת DFS נבדוק אם יש קשת אחורית = יש מעגל מכוון. אם כן, נחזיר T אחרת F. נכונות: אם יש מעגל באורך k ב-' G אז סיכום השוויונות,,, (כאשר ( יביא ל:, המעגל 0 ב,G כלומר קיים ב- G מעגל במשקל 0. אם קיים ב- G מעגל במשקל 0 אז אם נניח בשלילה שאינו ב-' G אז קיימת קשת מהמעגל, שאינה ב-' G ונקבל אי שוויונות מהצורה,,, פרט לקשת אחת (בה"כ, :(, קטן ממש., מסיכום אי השוויונות נקבל כי 0 המעגל ב,G בסתירה.

11 לi 11 אלגוריתם של :Floyd Warshall ממספרים באופן שרירותי את הצמתים מ- 1 עד n. עבור מק"ב מצומת i לצומת j, נסתכל על כל הצמתים הפנימיים, ונגדיר את גובה המק"ב k כאינדקס המקסימלי מבין הצמתים הפנימיים באותו מק"ב. בונים מק"בים לפי סדר גובה עולה: לכל,, נחשב את אורך המק"ב מ- i ל- j בגובה החל מ- 0. בסיום נקבל את כל המק"בים.. בגובה ל- j אורך המסלול הקצר ביותר מ- i :, : מסלולים ללא צמתים פנימיים. בניית : מתוך, min,,,, : או שהם שווים או האורך המינימלי של מסלול מ-. ושאר הצמתים k העובר דרך -j סיבוכיות:. הערות:.1.2 מקום: מספיק מקום למט' אחת ועדכון כל ערך חדש נשים במקום הערך הישן. עדכון מטריצת : אם הערך שונה, כלומר קיים מסלול טוב יותר העובר דרך k (הגורם הימני):,,,,.. אם לא (הגורם השמאלי) אז: אלגוריתם של :Johnson רעיון האלגוריתם: הופך את כל המשקלות לאי-שליליים ומריץ את Dijkstra פעמים. הטרנספורמציה הנדרשת:. מק"ב תחת w טענה: מק"ב תחת.,,,: הוכחה: עבור מסלול כלשהו,, מתקיים: - כלומר ההבדל תלוי רק בצומת ההתחלה וצומת הסיום, ולא במסלול. תהיה תוספת קבועה עבור כל מסלול מ- ל- ולכן מק"ב נשמר. כעת נבנה h מתאימה: נעתיק את הגרף לגרף חדש 'G, ונוסיף לו צומת s שיחובר לכל צמתי 'G עם משקל 0 לכל., נבצע B F אחד מ- s, ונגדיר:., אם כל המשקלות הישנים גדולים או שווים ל- 0, אז 0 (כי ברור שהמק"ב מ- s לכל הצמתים יהיה הקשת הישירה שמשקלה 0, ואז ). ההוכחה פשוטה: 0,, אמ"מ:, -,, תכונה בסיסית של מק"ב. זרימה ברשתות: :Network Flow רשת זרימה: גרף מכוון G עם צומת מקור וצומת מטרה ופונקצית קיבול על הקשתות ; 0 ) : לכל.( 0: מניחים כי כל צומת נגיש מ- s ו- t נגיש מכל צומת. בפרט, G קשירו- 1. זרימה - :flow פונקציה המוגדרת לכל זוג צמתים: :. בפועל f מקבלת ערכים שאינם 0 רק על קשתות ואנטי קשתות. זרימה חוקית מקיימת: אילוצי קיבול:,., :, אם, אז 0.,, אנטי סימטריה:,, :, (מכאן: 0.(, ערך: שימור הזרימה: לכל, מתקיים 0, ערך זרימה f המסומן תכונות וסימונים: (ניתן להגיד לכל כי זרימה של זוג שאינו קשת היא 0)., חישוב זרימה חוקית עם ערך מקסימלי המטרה: הינו סה"כ הזרימה הנכנסת ל- t...,,, חוק שימור הזרימה: 0.,, יהיו, אזי, לכל f,, זרימה חוקית, מתקיים:,., אם אז:,,, (ניתן גם להפוך את סדר הגורמים:....(,

12 12 אלגוריתם :Ford Fulkerson אתחול f ל- 0 לכל., כל עוד קיים מסלול משפר, נגדיל את הזרימה f ע"י הזרמה נוספת לאורך המסלול. הרשת השיורית - Network :Residual נתונה רשת זרימה G עם פונ' קיבול c וצמתים,s,t וכן זרימה חוקית f. נסמן את הרשת השיורית : הצמתים הם V והקשתות הן:, כך ש-,, (נותר פוטנציאל להזרים בהן) או אנטי קשתות, עבורן 0., קיבול שיורי:, -,, כמה עוד אפשר להזרים דרך אותה קשת. כאשר 0 (באתחול) אז. ). עם קיבול שיורי 0 לא יופיעו ב- (קשתות השיורית ברשת ל- t מסלול משפר הוא מסלול מ- s אם p מסלול משפר, נסמן ב- את הקיבול המינימלי של קשת של = p הגבול השיורי של p. נזרים ב- p זרימה נוספת בכמות ונגדיר זרימה חדשה:,,,,,,, טענה: :( סימון מקוצר ל- ) זרימה חוקיתו- מקיימת את אילוץ הקיבול:. מקיימת את שימור הזרימה. כיוון שהאלג' לא מציין כיצד ניתן למצוא את המסלול מ- s ל- t, ניתן למצוא אותו ע"י.BFS מספר הצעדים (עבור קיבולים שלמים / רציונאלים שהפכנו לשלמים ע"י מכנה משותף) חסום מלעיל ע"י ערך הזרימה המקסימלית זאת כיוון שבכל צעד 1. ולכן ערך הזרימה גדל בערך 1 בכל צעד. משפט :Min Cut Max Flow נגדיר חתך כחלוקה של V לשתי קבוצות זרות, כךש-,. הקיבול של החתך הוא, והזרימה דרך החתך היא., טענה: לכל זרימה f ולכל חתך, מתקיים:,. טענה: לכל זרימה f ולכל חתך, מתקיים:,, (אם, כךש-, אז,,, ואם היא אנטי קשת, כלומר, אזי 0,.(,, המשפט: התנאים הבאים שקולים: הוכחה: f זרימה מקסימלית. הרשת השיורית ל- t. לא מכילה מסלול מ- s קיים חתך, כךש-,. 1: 2 מיידי, כיוון שאם היה מסלול משפר ב- אז היינו יכולים להגדיל את ערך הזרימה. 2: 3 נניח שאין מסלול משפר ב-, נבנה חתך, כך ש- S מכיל את כל הצמתים הנגישים מ- s ב- ו- T את כל השאר ) כי לפי הנחה לא נגיש מ- s ). כדי להראות את (3) נראה שלכל, בחתך מתקיים, ).,), נחלק לשני מקרים:, קשת מקורית בגרף: אם,, אזי 0, ולכן :, כיוון ש- u נגיש מ- s, גם v נגיש, בסתירה., אנטי קשת, כלומר, קשת. מתקיים 0.,, אם לא יתקיים, אז 0, ו- 0, ומכאן, ו- v נגיש מ- s כמו קודם, בסתירה. 3: 1 מיידי, כי לכל זרימה מתקיים,, לכן מקסימלית. יעילות,Ford Fulkerson) גרסת :(Edmonds Korp נרצה לחפש מסלולים משפרים קצרים ביותר מבחינת מס' הקשתות, ע"י BFS על הרשת השיורית. מס' האיטרציות של האלג' הוא מס' המסלולים המשפרים. מספר האיטרציות הוא ולכן סה"כ זמן הריצה BFS) בכל איטרציה) הוא. מספר האיטרציות חסום כך כיוון שבכל שיפור, קשת אחת לפחות על המסלול המשפר נהיית רוויה (אותה קשת שקיבולה השיורי הוא ). אותה קשת לא תהיה ברשת השיורית הבאה, אך יכולה לחזור לרשת השיורית שאחריה. סה"כ יכולה לחזור רשת שכבתית: BFS על מ- s בונה שכבות, מרחקם מ- s. נחזיק רק קשתות מעבר משכבה לשכבה, וזו תהיה הרשת השכבתית. פעמים בערך. לכן סה"כ:. כאשר s נמצא לבדו בשכבה ה- 0, t נמצא לבדו בשכבה האחרונה. שאר הצמתים נמצאים בין לבין לפי

13 13 אלגוריתם של דיניץ: :Dinic נבנה רשת שכבתית מהרשת השיורית ע"י BFS מ- s. כל עוד t נגיש מ- s, נחפש מסלולים משפרים על הרשת השכבתית (כוללת רק קשתות משכבה לשכבה). כאשר t לא יהיה נגיש יותר מ- s, נזרוק את הרשת ונבנה רשת שיורית חדשה (וממנה שכבתית וכן הלאה, עד שאין מסלולים משפרים). בכל שלב מציאת מסלול משפר, נזרים דרכו את הקיבול השיורי המינימלי ונמחק מהרשת השכבתית את הקשתות הרוויות (ונפחית קיבול מהקשתות האחרות במסלול ונתעלם מקשתות הפוכות לקשתות ברשת השכבתית, ששימוש בהן יוביל למסלול ארוך ממש מ- k ). נריץ אלגוריתם דומה ל- DFS על הרשת השכבתית החדשה מ- s עם שלוש הפרוצדורות: אם.(Advance(v)) אז נמשיך ברקורסיה, יש קשת כזו אם ל-( Retreat(u. לך אם אין קשת יוצאת מ- u, :Advance(u) נבצע.Augment u סוף הטיפול ברשת השכבתית הנוכחית (סוף פאזה). אחרת נמחק את זהו אם :Retreat(u) לאב v שקרא ל- u ונבצע.Advance(v) ואת הקשתות הנכנסות אליו, נחזור :Augment זהו מסלול משפר, ולכן נמחק קשתות רוויות, נקטין קיבול שאר הקשתות במסלול ונחזור לצומת ההתחלה u של הקשת הרוויה הקרובה ביותר ל- s במסלול, ונבצע.Advance(u) האלג' מוצא מסלולים משפרים ברשת השכבתית שהם מסלולים משפרים ברשת השיורית באורך k. לכן: אין מסלול ברשת השכבתית אמ"מ אין מסלול ברשת השיורית באורך k ולכן יש לעבור לפאזה הבאה. בפאזה החדשה: נעדכן את הזרימה ברשת המקורית שנוספה בפאזה הקודמת, ניצור רשת שיורית חדשה וממנה רשת שכבתית חדשה ונתחיל שוב את ה- DFS המשופר לעיל. נכונות: בכל פאזה הרשת השכבתית מכילה רק צמתים וקשתות שיכולים להופיע על מסלולים משפרים באורך k (מספר השכבות). לכן, בסיום הפאזה אין מסלולים משפרים ברשת השכבתית ולכן אין מסלולים משפרים מ- לs סיבוכיות: k? ברשת השיורית באורך -t טענה: מרחק צומת מ- s עולה חלש (השכבה בה יימצא) בכל שיפור. לכן מספר הפאזות יהיה לכל היותר 1 : בסיום פאזה מרחק t מ- s ברשת השיורית גדול ממש מ- k ולכן כך יהיה גם ברשת השכבתית החדשה. יעילות פאזה בודדת: נכנה קשת שמחקנו כקשת חסומה. בין שתי חסימות עוקבות מתבצעות פעולות שזה. מספר החסימות לכל היותר ולכן סה"כ:. סה"כ: - שיפור לעומת.Edmonds Korp רשתות :/ רשתות בהן כל קשת בעלת קיבול 1 (או 0). דיניץ על רשתות כאלה ייקח לפאזה. בתחילת הדרך וכל הקיבולים הם 1 לאורך כל מהלך האלג': אם נמצא מסלול משפר, כל הקשתות עליו נהיות רוויות ולכן כולן יוצאות מהרשת השיורית וכל הקשתות ההפוכות נכנסות אליה עם קיבול שיורי 1. כל קשת מקורית או הפוכתה נמצאות תמיד ב- עם קיבול 1, ובכל קשת הזרימה בכל שלב היא או 0 או 1. בביצוע Augment מוחקים / חוסמים k קשתות, עלות הפעולה. בין Augment אחד לשני מספר הצעדים פרופורציונלי ל- k +מספר הקשתות שנמחקו בגלל צמתים תקועים. לפיכך דיניץ רץ בזמן ברשתות אלו. באופן כללי מספר הפאזות ברשת 0/1 הוא. כך נקבל: במקרה הכללי:. רשת מטיפוס 1: רשת ללא קשתות מקבילות או אנטי-מקבילות (יכול להתקבל כאשר מפצלים קשת בעלת קיבול גדול מ- 1 כדי להפוך, כי יש פאזות. רשת לרשת 0/1), כי יש פאזות. רשת מטיפוס 2: רשת בה כל צומת בעל דרגת כניסה 1 או דרגת יציאה 1, הערה: טיפוס הרשת נשמר גם ברשת השיורית. זיווג מקסימלי: לכל הצמתים ב- X,Y s,t בצמתים. האלג': מחברים זרות צריך למצוא אוסף מקסימלי של קשתות ב- E,, גרף דו צדדי, G בהתאמה, נותנים קיבול 1 לכל קשתות הגרף ובודקים זרימה מקסימלית. קשתות רוויות מהוות זיווג מקסימלי. זרימה היא זיווג כי דרך כל קשת רוויה זורם 1. כיוון שהרשת מטיפוס 2 (דרגת כניסה/יציאה 1 לכולם פרט ל- s,t ), אין 2 קשתות מאותו צומת ב- X או לאותו צומת ב- Y. עלות: ע"י שימוש בדיניץ.

14 הזיווגים האפשריים, בעלי קיבול.Y הרשת היא מטיפוס. או, האם בהכרח. ש, אלt ל. מהנחת. אם. מכ. 14 משפט :Hall יהי G גרף דו"צ,., לכל נסמן Γ את קבוצת השכנים ב- Y של כל הצמתים מ- A, ונניח. אז: ל- G קיים זיווג מושלם (זיווג בגודל. : Γ ( תרגילים וטענות (מהתרגול): בעיית הזיווג המקסימלי: בהינתן קבוצת בנים X, קבוצת בנות Y וקבוצת שידוכים אפשריים, מהו הזיווג המקסימלי האפשרי (זיווג שלם הוא - min, זיווג בו כל בן משודך וכל בת משודכת). פתרון: יוצרים גרף דו"צ ומוסיפים צמתים s :s,t יוחבר בקשתות עם קיבול 1 לכל t X, יוחבר בקשתות עם קיבול 1 לכל Y יהיו קשתות בין X ל- נמצא זרימה מקסימלית, והיא תתן את הזיווג. נכונות: כל בן ב- X יכול לקבל זרימה 1 לכל היותר, ולכן יכול להעביר זרימה 1 לכל היותר. לכן לא יתכן מצב של זיווג בן אחד לשתי בנות. באופן 2 ולכן סיבוכיות:. דומה כל בת תזווג לבן יחיד כי יכולה להעביר ל- t זרימה לכל היותר בגודל 1 בהינתן גרף מכוון G, רוצים למצוא תת גרף שלכל הקודקודים דרגת הכניסה היא 1 ודרגת היציאה היא 1 להראות שלא קיים כזה. פתרון: יוצרים שני שכפולים ל- V :., יוצרים מהם גרף דו"צ: לכל קשת מקורית, יוצרים קשת, בעלת קיבול בגודל 1. נמצא זיווג מקסימלי לקבוצת הקשתות שבנינו. אם מצאנו זיווג שלם אזי יש תת גרף כך לכל קודקוד דרגת היציאה = דרגת הכניסה = 1. נתונים k מטוס ם, n טייסות, mי מטוסים ימריאו במקביל. דיילים. רוצים למצוא שלשות (כאשר טייסות בוחרות מטוסים וגם דיילים בוחרים מטוסים) כך שמקסימום פתרון: מחברים s לכל הטייסות; מחברים את n הטייסות ל- k המטוסים לפי הנתונים; מחבר םי את k המטוסים לעותק נוסף של k המטוסים ; מחברים את העותק הנוסף ל- m הדיילים לפי הנתונים; מחברים את הדיילים ל- t. נותנ םי נקבל מספר מקסימלי של שלשות של טייסת,מטוס,דייל. לכל הקשתות קיבול 1 ובודקים זרימה מקסימלית. כך יש ברשת זרימה שערכה? 700 נתונה רשת זרימה שערכה 1000 פתרון: כן. בונים מהרשת הישנה רשת חדשה שכל ההבדל הוא שיש קשת בעלת קיבול 700 מ- 't הוא הבור החדש ברשת החדשה. ה- min cut ברשת החדשה הוא 700 כי ה- min cut ברשת הישנה, השווה ל- max flow באותה רשת, היה לפחות לכן ברשת החדשה יש זרימה מקס' של 700. כיוון שמ- t יוצאת קשת אחת עם זרימה 700 ל-' t, משימור הזרימה נובע שחייב להיכנס ל- t 700 פיכך ניתן להעביר ברשת המקורית 700 ל- t. נתונה רשת זרימה מכוונת עם קיבולים על הקשתות וזרימה מקסימלית f. לתאר אלג' הבודק האם קיימת ברשת קשת שהגדלת קיבולה תגדיל את הזרימה המקסימלית. פתרון: קיים שיפור רק אם יש מסלול בזרימה המקסימלית בו יש קשת אחת בלבד רוויה (ושאר הקשתות על אותו מסלול לא). נעבור על כל הקשתות ונחזיק בהם שדה האם הן רוויות או לא. כעת נפתור ע"י BFS מ- s אם: אחרת נחזיר שלא קיים שיפור. המחסנית מתחזקת האם מסלול עד כה הוא רווי או לא. נתקלים בקשת רוויה, ולא נתקלנו בכזו עד כה, נוסיפה למחסנית. נתונה רשת זרימה בה כל הקשתות בעלות קיבולים זוגיים פרט לאחת e בעלת קיבול אי זוגי. נתונה זרימה מקסימלית בגודל אי זוגי. האם בהכרח e רוויה? פתרון: כן. אם נניח בשלילה שלא, אז ניתן להקטין את קיבול אותה קשת לזוגי ועדיין לקבל את אותה זרימה מקסימלית. לפי MCMF גודל החתך המינימלי הוא גודל הזרימה המקסימלית. כיוון שכל החתכים כעת הם בגודל זוגי, בפרט גם המינימלי ולכן גם הזרימה המקסימלית בסתירה. נתון גרף G ושני צמתים.s,t רוצים למצוא מס' מקסימלי של מסלולים זר בקשים תות מ- s ל- t. פתרון: ניתן לכל קשת קיבול 1 ונמצא זרימה מקסימלית. נכונות: אם יש k מסלולים זרים, אז נזרים 1 על כל אחד מהמסלולים, ולא חרגנו מהקיבולים כיוון שהם מסלולים זרים. נקבלש-. כעת נניח באינדוקציה שעבור 1 מתקיים : נוכיח נכונותל-. מוחקים את הקשתות שהזרימה בהן 0, ונשאר םי עם. כיוון שהזרימה גדולה מאפס, קיים מסלול מ- s אל t. נבחר כזה ונמחק אותו ונקבל. לכן l. זרים, ובתוספת המסלול שהורדנו יש בדיוק מסלולים האינדוקציהיש 1 1 משפט מנגר לקשתות: בגרף מכוון, s,t צמתים, המס' המקסימלי k של מסלולים זרים בקשתות שווה למס' המינימלי l של קשתות ש שי למחוק כדי לנתק את s מ- t. הוכחה: כיוון שחייב םי למחוק לפחות קשת אחת מכל אחד מהמסלולים הזרים. כיוון ש: זרימה מקסימלית = k לפי תרגיל קודם. כמו כן לפי MCMF זה שווה לקיבול החתך המינימלי. כיוון שכל הקיבולים הם 1, זה בעצם שווה למס' המינימלי של קשתות (בחתך המינימלי) נמחק קשתותאלו ננתק את S מ- T ולכן את s מ- t אן ש-.

15 15 נתון גרף לא מכוון G רוצים לכ, פתרון: נבנה גרף דו"צ בו בצד אחד כל וונו כך שלכל צומת תהיה דרגת יציאה לכל היותר 3, או להגיד שלא ניתן לבנות כזה. הצמתים מ- V, בצד שני צמתים חדש םי צומת לכל., נחבר s לכל עם קיבול 3, נחבר כל, אל e כך ש-, עם קיבול 1, ונחבר כל e ל- t עם קיבול 1. נמצא זרימה מקסימלית ונטען שקיים פתרון אמ"מ.נניחשקייםפתרוןכנדרש,אזילכל, נכוון מ- u אל v ונזרים 1 על,, ואם מ- v אל u: נזרים 1 על., נשלים את הזרימה מ- sאל :t. דרגת יציאה של כל קודקוד עד 3, ולכן כל קודקוד משתתף בעד 3 מסלולי זרימה כמתואר. לכן הזרימה על הקשתות, לכל היותר 3. כיוונו את כל הקשתות ולכן יזרים 1 על כל הקשתות, ונקבל כיוון שני באופן דומה.. תכנות דינאמי: תחליף לגישה רקורסיבית לפתרון בעיות, כאשר הפתרון הרקורסיבי יקר מדי כי הוא נתקל שוב ושוב באותן תתי בעיות ושוב ושוב פותר אותן. למשל, מספרי פיבונצ'י: הגיש הרקורסיבית מחשבת לכל n את כל מספרי הפיבונצ'י שקדמו לו, זמן ריצה אקספוננציאלי. הגישה האיטרטיבית לעומת זאת תבצע חישוב לינארי: כל צעד לחישוב בדרך ל- תחשב על בסיס החישובים הקודמים, כאשר מתחילים מ-, ידועים. כפל מטריצות יעיל: נתונה סדרה של מטריצות,, לאו דווקא ריבועיות, כאשר כל מטריצה היא מסדר (מספר הטורים של שווה למספר השורות של. המכפלה היא מטריצה מסדר. בגלל אסוציאטיביות של כפל מטריצות, ניתן לכפול לפי איזה סדר שנרצה, כאשר ברירת המחדל היא:. המטרה: מציאת סדר הכפלה עם מספר מינימלי של פעולות כאשר מחיר כפל בודד של מטריצה במטריצה הוא. עבור כל סדר הכפלה נייצג עץ בו העלים הם המטריצות. למשל: ייוצג ע"י: נסמן ב-, את המחיר המינימלי למכפלת המטריצות,,,, ומתקיים:, min,, החלוקה שתתן עלות מינימלית המחושבת ע"י העלות המינימלית של כל חלק + עלות מכפלת שתי המטריצות שנקבל מחלוקה זו. מקרה קצה: 0 -, זו מטריצה נתונה ואין מה לחשב. עלות הביצוע הרקורסיבי, הוא:, ונסמן זאת כפונקציה של הפער ולא האינדקסים ממש. בשיטה זו,, 1: ולכל,, 1 נקבל ש-. ~3 בגישת התכנות הדינאמי: יש תתי בעיות, כלומר, ונחשב כל אחת פעם אחת בלבד. בעיה עם הפרש תלויה בתתי בעיות עם הפרש. לכן נחשבן בסדר עולה החל מ- 0 ועד 1. תחילה נותנים ערך 0 לכל., לאחר מכן רצים על כל ההפרשים האפשריים (לכל הפרש l רצים על, לכל i), מאתחלים לערך ורצים בלולאה על k בה מבצעים את החישוב עצמו ועדכון הערך המינימלי ל- ). ), כמו כן מחזיקים שדה, שיחזיק את k עליו פיצלנו. סיבוכיות: במקום :3 לולאה על ההפרש,l הפרש j והפרש.k פתרון רקורסיבי:.top down פתרון דינאמי:.bottom up חישוב תת סדרה משותפת מקסימלית: - תת הסדרה המקסימלית המשותפת היא המודגשת:.BCAB תהיינה 2 סדרות, : נסתכל על האיברים האחרונים של הסדרות,., אם הם שווים, ברור שנשים אותם בתת הסדרה שנבנה. כך ניתן לפתור ברקורסיה בלי האיברים האחרונים. אם הם שונים, אז תת הסדרה המקסימלית תהיה או בין.X של את הרישא ה- i נסמן. ל- או בין ל- תנאי העצירה הוא שאחת מהסדרות הגיע ל-. מספר תתי הבעיות (כולל הסדרות הריקות) הוא 1. 1 שיטת התכנות הדינאמי: נסמן ב-, את תת הסדרה המקסימלית בין., נכין מטריצה המחזיקה את ערכי.LCS האלג' המוצע הוא: במקום לחשב את LCS מפורשות, נחשב רק את האורך ומצביע לאיבר האחרון שלה, ומצביע למקום הקודם במטריצה בעזרתו נבנתה: אם - באלכסון; אחרת או

16 חי( 16 למעלה במטריצה או שמאלה ),1 או.(, 1 כך זמן הריצה הוא, לעומת אם היינו שומרים בכל שלב את הסדרה במפורש, אז היתה העלות פי m או n יותר יקרה. דוגמא נוספת: פתרון משוואה: נתונים ו- 0,1,,,, ונתונה המשוואה:. פתרון זמן הריצה שלו תלוי ב- n ולא תלוי במספרים הנתונים יהיה אקספוננציאלי (בעיה.(NPC פתרון דינאמי: נכניס פרמטר פתרון הבעיה: על תתי הבעיות נסתכל אם יש פתרון אז.. לקבוע האם קיים פתרון, ולספור את מספר הפתרונות האפשריים.. כאשר 1,,,1,,,, :.(i לכל (הפתרון 0, 0 ו- 1,, 1, 1, נקבל זמן ריצה לעומת 2 בפתרון הנאיבי. טריאנגולציה עם משקל מינימלי: :Minimum weight Triangulation נתון מצולע קמור P עם n קודקודים במישור ע"י העברת מיתרים שלא חוצים זה את זה. נפרק את P ל- 2 משולשים, ונניח לכל משולש Δ יש משקל,Δ כאשר משקל הוא שטח המשולש. משקל הטריאנגולציה הוא סכום משקלי המשולשים, ורוצים למצוא טריאנג' בעלת משקל מינימלי. נניח קודקודי המצולע הם.,, נקח צלע כלשהי, למשל את., למשולש שיושב על e יש קודקוד 1 כך שמשולש זה מחלק את המצולע לשלושה מצולעים: עם k קודקודים. עם 1 קודקודים. המשולש עצמו. מתקיים: טריאנגולציה min מינימלית של. כל תת מצולע שמתקבל נפצל במיתר שממנו קיבלנו אותו (זה המשותף למשולש ), וכך יובטח שכל תת מצולע לאורך הרקורסיה מורכב מחלק רציף משפת P (המצולע המקורי) + מיתר. נתאר את 'P ע"י, והכוונה ששפתו היא מקודקוד עד קודקוד נגד כיוון השעון. ישנם תת מצולעים. אילוצים:. אם 1 אז המצולע הוא צלע בודדת ומשקלו 0. אם 2 אז המצולע הוא משולש, ואין מה להיכנס ברקורסיה נחזיר את משקלו. נסמן באופן כללי:. min כעת נפתור את הבעיות לפי ההפרש. עבור הפרש., 0,1 עבור הפרש 21 : נרוץ על 1 ונגדיר:, min, כאשר בין i ל- k ובין k ל- ההפרש קטן מ- j. סיבוכיות: (לולאות על (,, לעומת אקספוננציאלית. תרגילים (מהתרגול): נתונהסדרהמספרים,,, רוצים למצוא תת סדרה רציפה בעלת סכום מקסימלי. פתרון: נחשב לכל i את: הבא: מתחילים כ ם תו ס= ת הסדרה הרציפה המקסימלי עד יב להכיל אותו); max, חדשה או=, לבסוף ניקח את המקסימום מבין. max,, מ. תו סכום רק עד., ואז מסיים את תת הסדרה. נמשיך כך אחורה לקבלת כל הסדרה. פתרון בזמןלינארי. מ- אחורה ומציאת i כך ש- בעייתהסוכן הנוסע: נתון גרף לא מכוון עם משקלות אי-שלילי רים. פתרון: נניח שפתרון זה הוא.OPT נמצא מעגל שמשקלו לכל היותר 2 מ. קשת אנטי-מקבילה כדי שנוכל לנוע במעגל (בכל קשת נשתמש פעם אחת בדיוק) בגודל.2 2 כ. כעת חישוב האיבר ציאת תת הסדרה ע"י הליכה וצים למצוע מעגל פשוט במשקלמינימלי העובר דרך כל הקודקודים. שתמשים בעובדה ש- ולכן ניקח עפ"מ, לכל קשת נוסיף ל קודקוד בדרגה זוגית ולכן קיים מעגל אויילר. הפתרון שלנו הוא

17 כתy 17 התאמת מחרוזות: :String/Pattern Matching הקלט הוא: מחרוזת טקסט T, מחרוזת תבנית P. רוצים לחפש איפה (אם בכלל) מופיעה P ב- T. נסמן ב- n את אורך T, וב- m את אורך P. נגיד ש- P מופיע במקום ה- i של T אם:.,, הערה: מותרת חפיפה חלקית של התאמות. פתרון נאיבי: לנסות את כל התזוזות האפשריות, לוקח זמן. להלן פתרון ב- : נניח P,T מורכבות מ-, בלבד. לאחר השוואה ראשונה, נבצע בהסתברות אחריו) וכן הלאה. תוחלת מספר ההשוואות בתזוזה אחת: בערך 2. השוואה נוספת (לתו הבא), ובהסתברות השוואה נוספת (לתו אם בתזוזה מסויימת הצלחנו להתאים רישא של P שהוא,1, נחפש תזוזה מינימלית 0 בה יש התלכדות בין רישא כלשהי של 1, לסיפא - הרישא המתאימה היא.1,4 במקרה זה AB היא רישא המתלכדת עם סיפא של אותה מחרוזת.1, למשל: לכן התזוזה הנדרשת לבדיקה הבאה היא 2 (ואז במקרה זה לאותה תזוזה גם תהיה התאמה). נכין טבלה שלכל רישא 1, של P, נדע מה גודל הרישא המקסימלי של 1, שהוא גם סיפא של.1, נסתכל על i שהוא האינדקס המסיים את תת המחרוזת עליה מסתכלים, על שהוא גודל אותו רישא של 1, שהוא גם סיפא, והתזוזה הנדרשת תהיה:. לאחר חישוב, נחזיק אינדקס q שיהיה: כמה תוים של p כבר מותאמים בהזזה הנוכחית. נבצע השוואות ל ? 2,? עד שנכשל או עד סוף.P נניח k הוא אורך הרישא שהתאמנו, אז נקח את מתוך הטבלה ונשים ב- q. כדי לנצל את מירב האינפורמציה על כישלון בבדיקה מסויימת לקראת ההזזה והבדיקה הבאה, נחזיק טבלה, שתחזיק את גודל הרישא המקסימלית שהיא גם סיפא של 1, (שרשור עם a, תו מהא"ב של (P,T לכל a בא"ב. ניתנת לחישוב מתוך טבלה זו. ניתן להסתכל על האלג' כעל אוטומט סופי: אוטומט בעל,,0,1 מצבים. האוטומט קורא את T, וכאשר נמצא במצב k וקורא את a, עובר למצב,, עד שמגיע למצב מקבל שהוא m. כשנגיע ל- m נודיע על הצלחה ונמשיך לרוץ עד סוף T. אופן פעולת האוטומט: כשהאוטומט במצב q q התוים האחרונים שקראנו מ- T מתאימים ל- q התוים הראשונים שקראנו מ- P. מעבר : עוברים למצב k כאשר k הוא גודל הרישא המקסימלית של P שהיא גם סיפא של (a 1, התו הבא מתוך T כמו לעיל). אם אז 1 -, יש לנו התאמה בתו נוסף ונתקדם. אם לא, נעבור לאותו k המתואר לעיל (חיפוש התאמה חדשה). האלגוריתם של :(KMP) Knuth Morris Pratt דומה לרעיון האוטומט אך ללא תלות באות הקלט הבאה (a לעיל). נסתכל על רישא קטנה בתו אחד: במקום להסתכל על k שהוא הרישא המקסימלי המתאים לסיפא של,1, נסתכל על 1 1, 1 : שהוא סיפא של 1, (ללא a). מעבר יוגדר שוב: נעבור למצב ה- k אם 1, 1 הוא סיפא של.1, כמו פונקצית שהוגדרה בהתחלה. סיבוכיות: חישוב. : לולאת ה- while בחישוב לא תתבצע יותרמ- 1 פעמים, ולכן זמן החישוב הוא. הפרוצדורה הראשית לוקחת זמן. סה"כ: ללא תלות בגודל הא"ב. רוצים, תרגילים (מהתרגול): נתונה מחרוזת T למצוא את הרישא המקסימלית של T שהיא פלינדרום באופן יעיל. פתרון: נרשוםאת ואנו רוצ םי מקסימלי. נסתכל על:, ובעצם רוצים את רישא מקסימלית של T שהיא גם סיפא של. נריץ KMP עם טקסט ותבנית T אם. נסמן את אורך הרישא המקסימלית של P שהוא סיפא של 1, ב- אז, האורך שרוצים הוא. 2 זמן הריצה:. תהי T באורך לפחות 10 רוצ, פתרון: בכל חלוקה כזו מתקיים: אורך ההתאמה. רוצים למצוא חלוקה כך ש- פתרון: מריצים KMP היy ים למצוא חלוקהכךש- 10, מקסימלי. KMP נריץ. עם התוים האחרונ ם של Tי א תת מחרוזת של x (אם קיימת). כטקסט ו- 1, כתבנית. עם טקסט T ממקום 1 יתן את המקסימלית עד מקום n, עם התבנית 1, (כל הטקסט) כדי למצוע חלוקה עם x מקסימלי. לאחר מכן נריץ KMP עם x כטקסט ו- בנית כדי לבדוק אם y תת מחרוזת של x.

ל הזכויות שמורות לדפנה וסטרייך

ל הזכויות שמורות לדפנה וסטרייך מרובע שכל זוג צלעות נגדיות בו שוות זו לזו נקרא h באיור שלעיל, הצלעות ו- הן צלעות נגדיות ומתקיים, וכן הצלעות ו- הן צלעות נגדיות ומתקיים. תכונות ה כל שתי זוויות נגדיות שוות זו לזו. 1. כל שתי צלעות נגדיות

Διαβάστε περισσότερα

logn) = nlog. log(2n

logn) = nlog. log(2n תכנוןוניתוחאלגוריתמים סיכוםהתרגולים n log O( g( n)) = Ω( g( n)) = θ ( g( n)) = תרגול.3.04 סיבוכיות { f ( n) c> 0, n0 > 0 n> n0 0 f ( n) c g( n) } { f ( n) c> 0, n0 > 0 n> n0 0 c g( n) f ( n) } { f ( n)

Διαβάστε περισσότερα

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur פתרון תרגיל --- 5 מרחבים וקטורים דוגמאות למרחבים וקטורים שונים מושגים בסיסיים: תת מרחב צירוף לינארי x+ y+ z = : R ) בכל סעיף בדקו האם הוא תת מרחב של א } = z = {( x y z) R x+ y+ הוא אוסף הפתרונות של המערכת

Διαβάστε περισσότερα

חורף תש''ע פתרון בחינה סופית מועד א'

חורף תש''ע פתרון בחינה סופית מועד א' מד''ח 4 - חורף תש''ע פתרון בחינה סופית מועד א' ( u) u u u < < שאלה : נתונה המד''ח הבאה: א) ב) ג) לכל אחד מן התנאים המצורפים בדקו האם קיים פתרון יחיד אינסוף פתרונות או אף פתרון אם קיים פתרון אחד או יותר

Διαβάστε περισσότερα

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( ) פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד a d U c M ( יהי b (R) a b e ל (R M ( (אין צורך להוכיח). מצאו קבוצה פורשת ל. U בדקו ש - U מהווה תת מרחב ש a d U M (R) Sp,,, c a e

Διαβάστε περισσότερα

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS כלליים שיטות חיפוש בבגרפים שיטה 1: חיפוש לרוחב S (readth irst Search) זמן: ) Θ( V + הרעיון: שימוש בתור.O שיטה 2: חיפוש לעומק S (epth irst Search) Θ( V + ) יהי =(V,) גרף כלשהו, V הוא צומת התחלת החיפוש.

Διαβάστε περισσότερα

. {e M: x e} מתקיים = 1 x X Y

. {e M: x e} מתקיים = 1 x X Y שימושי זרימה פרק 7.5-13 ב- Kleinberg/Tardos שידוך בגרף דו-צדדי עיבוד תמונות 1 בעיית השידוך באתר שידוכים רשומים m נשים ו- n גברים. תוכנת האתר מאתרת זוגות מתאימים. בהינתן האוסף של ההתאמות האפשריות, יש לשדך

Διαβάστε περισσότερα

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם תזכורת: פולינום ממעלה או מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה p f ( m i ) = p m1 m5 תרגיל: נתון עבור x] f ( x) Z[ ראשוני שקיימים 5 מספרים שלמים שונים שעבורם p x f ( x ) f ( ) = נניח בשלילה ש הוא

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 13

מתמטיקה בדידה תרגול מס' 13 מתמטיקה בדידה תרגול מס' 13 נושאי התרגול: תורת הגרפים. 1 מושגים בסיסיים נדון בגרפים מכוונים. הגדרה 1.1 גרף מכוון הוא זוג סדור E G =,V כך ש V ו E. V הגרף נקרא פשוט אם E יחס אי רפלקסיבי. כלומר, גם ללא לולאות.

Διαβάστε περισσότερα

אלגוריתמים / תרגיל #1

אלגוריתמים / תרגיל #1 1 אריאל סטולרמן אלגוריתמים / תרגיל #1 קבוצה 02 (1) טענה: אם בגרף לא מכוון וקשיר יש 2 צמתים מדרגה אי זוגית ושאר הצמתים מדרגה זוגית, זהו תנאי הכרחי ומספיק לקיום מסלול אויילר בגרף. הערות: הוכחה: התוספת כי

Διαβάστε περισσότερα

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ משוואות רקורסיביות הגדרה: רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים למשל: T = Θ 1 if = 1 T + Θ if > 1 יונתן יניב, דוד וייץ 1 דוגמא נסתכל על האלגוריתם הבא למציאת

Διαβάστε περισσότερα

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשעד פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. לכל אחת מן הפונקציות הבאות, קבעו אם היא חח"ע ואם היא על (הקבוצה המתאימה) (א) 3} {1, 2, 3} {1, 2, : f כאשר 1 } 1, 3, 3, 3, { 2, = f לא חח"ע: לדוגמה

Διαβάστε περισσότερα

' 2 סמ ליגרת ןורתפ םיפרגה תרותב םימתירוגלא דדצ 1 : הלאש ןורתפ רבסה תורעה

' 2 סמ ליגרת ןורתפ םיפרגה תרותב םימתירוגלא דדצ 1 : הלאש ןורתפ רבסה תורעה אלגוריתמים בתורת הגרפים פתרון תרגיל מס' 2 לשאלות והערות נא לפנות לאילן גרונאו (shrilan@cs.technion.ac.il) א) ב) ג) גרף דו-צדדי (bipartite) הינו גרף (E )G V, אשר קיימת חלוקה של צמתיו לשתי קבוצות U,W e =

Διαβάστε περισσότερα

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 6 נושא: תחשיב הפסוקים: הפונקציה,val גרירה לוגית, שקילות לוגית 1. כיתבו טבלאות אמת לפסוקים הבאים: (ג) r)).((p q) r) ((p r) (q p q r (p

Διαβάστε περισσότερα

מבני נתונים ואלגוריתמים תרגול #11

מבני נתונים ואלגוריתמים תרגול #11 מבני נתונים ואלגוריתמים תרגול # התאמת מחרוזות סימונים והגדרות: P[,,m] כך Σ * טקסט T )מערך של תווים( באורך T[,,n] n ותבנית P באורך m ש.m n התווים של P ו T נלקחים מאלפבית סופי Σ. לדוגמא: {a,b,,z},{,}=σ.

Διαβάστε περισσότερα

מבני נתונים ואלגוריתמים תרגול #8-9

מבני נתונים ואלגוריתמים תרגול #8-9 מבני נתונים ואלגוריתמים תרגול #89 מציאת מסלולים קצרים הבעיה: נתון גרף ממשוקל רוצים למצוא את המסלול הקצר בין זוג קודקודים עיקרון הרלקסציה של קשת: בדיקה האם ניתן לשפר מסלול מ s ל v ע"י מעבר דרך קודקוד u:?

Διαβάστε περισσότερα

gcd 24,15 = 3 3 =

gcd 24,15 = 3 3 = מחלק משותף מקסימאלי משפט אם gcd a, b = g Z אז קיימים x, y שלמים כך ש.g = xa + yb במלים אחרות, אם ה כך ש.gcd a, b = xa + yb gcd,a b של שני משתנים הוא מספר שלם, אז קיימים שני מקדמים שלמים כאלה gcd 4,15 =

Διαβάστε περισσότερα

תרגיל 13 משפטי רול ולגראנז הערות

תרגיל 13 משפטי רול ולגראנז הערות Mthemtics, Summer 20 / Exercise 3 Notes תרגיל 3 משפטי רול ולגראנז הערות. האם קיים פתרון למשוואה + x e x = בקרן )?(0, (רמז: ביחרו x,f (x) = e x הניחו שיש פתרון בקרן, השתמשו במשפט רול והגיעו לסתירה!) פתרון

Διαβάστε περισσότερα

תורת הגרפים - סימונים

תורת הגרפים - סימונים תורת הגרפים - סימונים.n = V,m = E בהינתן גרף,G = V,E נסמן: בתוך סימוני ה O,o,Ω,ω,Θ נרשה לעצמנו אף להיפטר מהערך המוחלט.. E V,O V + E כלומר, O V + E נכתוב במקום אם כי בכל מקרה אחר נכתוב או קשת של גרף לא

Διαβάστε περισσότερα

אלגוריתמים בתורת הגרפים חלק ראשון

אלגוריתמים בתורת הגרפים חלק ראשון גירסה 1. 11.11.22 אלגוריתמים בתורת הגרפים חלק ראשון מסמך זה הינו הראשון בסדרת מסמכים אודות תורת הגרפים, והוא חופף בחלקו לקורס "אלגוריתמים בתורת הגרפים" בטכניון (שאינו מועבר יותר). ברצוני להודות תודה מיוחדת

Διαβάστε περισσότερα

Logic and Set Theory for Comp. Sci.

Logic and Set Theory for Comp. Sci. 234293 - Logic and Set Theory for Comp. Sci. Spring 2008 Moed A Final [partial] solution Slava Koyfman, 2009. 1 שאלה 1 לא נכון. דוגמא נגדית מפורשת: יהיו } 2,(p 1 p 2 ) (p 2 p 1 ).Σ 2 = {p 2 p 1 },Σ 1 =

Διαβάστε περισσότερα

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin( א. s in(0 c os(0 s in(60 c os(0 s in(0 c os(0 s in(0 c os(0 s in(0 0 s in(70 מתאים לזהות של cos(θsin(φ : s in(θ φ s in(θcos(φ sin ( π cot ( π cos ( 4πtan ( 4π sin ( π cos ( π sin ( π cos ( 4π sin ( 4π

Διαβάστε περισσότερα

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m Observabiliy, Conrollabiliy תרגול 6 אובזרווביליות אם בכל רגע ניתן לשחזר את ( (ומכאן גם את המצב לאורך זמן, מתוך ידיעת הכניסה והיציאה עד לרגע, וזה עבור כל צמד כניסה יציאה, אז המערכת אובזרוובילית. קונטרולביליות

Διαβάστε περισσότερα

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד. חידה לחימום ( M ש- N > (כך מספרים טבעיים Mו- N שappleי appleתוappleים בעלי אותה הזוגיות (שappleיהם זוגיים או שappleיהם אי - זוגיים). המספרים הטבעיים מ- Mעד Nמסודרים בשורה, ושappleי שחקappleים משחקים במשחק.

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשעו (2016) לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)............................................................................................................. חלק ראשון: שאלות שאינן להגשה 1. עבור

Διαβάστε περισσότερα

גבול ורציפות של פונקציה סקלרית שאלות נוספות

גבול ורציפות של פונקציה סקלרית שאלות נוספות 08 005 שאלה גבול ורציפות של פונקציה סקלרית שאלות נוספות f ( ) f ( ) g( ) f ( ) ו- lim f ( ) ו- ( ) (00) lim ( ) (00) f ( בסביבת הנקודה (00) ) נתון: מצאו ) lim g( ( ) (00) ננסה להיעזר בכלל הסנדביץ לשם כך

Διαβάστε περισσότερα

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות אלגוריתמים חמדניים אלגוריתם חמדן, הוא כזה שבכל צעד עושה את הבחירה הטובה ביותר האפשרית, ולא מתחרט בהמשך גישה זו נראית פשטנית מדי, וכמובן שלא תמיד היא נכונה, אך במקרים רבים היא מוצאת פתרון אופטימאלי בתרגול

Διαβάστε περισσότερα

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות 1. מצאו צורה דיסיונקטיבית נורמלית קנונית לפסוקים הבאים: (ג)

Διαβάστε περισσότερα

תרגול פעולות מומצאות 3

תרגול פעולות מומצאות 3 תרגול פעולות מומצאות. ^ = ^ הפעולה החשבונית סמן את הביטוי הגדול ביותר:. ^ ^ ^ π ^ הפעולה החשבונית c) #(,, מחשבת את ממוצע המספרים בסוגריים.. מהי תוצאת הפעולה (.7,.0,.)#....0 הפעולה החשבונית משמשת חנות גדולה

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשעו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים: לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( 2016 2015 )............................................................................................................. חלק ראשון: שאלות שאינן להגשה.1

Διαβάστε περισσότερα

תרגול מס' 6 פתרון מערכת משוואות ליניארית

תרגול מס' 6 פתרון מערכת משוואות ליניארית אנליזה נומרית 0211 סתיו - תרגול מס' 6 פתרון מערכת משוואות ליניארית נרצה לפתור את מערכת המשוואות יהי פתרון מקורב של נגדיר את השארית: ואת השגיאה: שאלה 1: נתונה מערכת המשוואות הבאה: הערך את השגיאה היחסית

Διαβάστε περισσότερα

הגדרה: מצבים k -בני-הפרדה

הגדרה: מצבים k -בני-הפרדה פרק 12: שקילות מצבים וצמצום מכונות לעי תים קרובות, תכנון המכונה מתוך סיפור המעשה מביא להגדרת מצבים יתי רים states) :(redundant הפונקציה שהם ממלאים ניתנת להשגה באמצעו ת מצבים א חרים. כיוון שמספר רכיבי הזיכרון

Διαβάστε περισσότερα

אלגוריתמים בתורת הגרפים חלק שני

אלגוריתמים בתורת הגרפים חלק שני גירסה 1.00 5.12.2002 אלגוריתמים בתורת הגרפים חלק שני מסמך זה הינו השני בסדרת מסמכים אודות תורת הגרפים, והוא חופף בחלקו לקורס "אלגוריתמים בתורת הגרפים" בטכניון (שאינו מועבר יותר). ברצוני להודות תודה מיוחדת

Διαβάστε περισσότερα

{ : Halts on every input}

{ : Halts on every input} אוטומטים - תרגול 13: רדוקציות, משפט רייס וחזרה למבחן E תכונה תכונה הינה אוסף השפות מעל.(property המקיימות תנאים מסוימים (תכונה במובן של Σ תכונה לא טריביאלית: תכונה היא תכונה לא טריוויאלית אם היא מקיימת:.

Διαβάστε περισσότερα

שאלה 1 V AB פתרון AB 30 R3 20 R

שאלה 1 V AB פתרון AB 30 R3 20 R תרגילים בתורת החשמל כתה יג שאלה א. חשב את המתח AB לפי משפט מילמן. חשב את הזרם בכל נגד לפי המתח שקיבלת בסעיף א. A 60 0 8 0 0.A B 8 60 0 0. AB 5. v 60 AB 0 0 ( 5.) 0.55A 60 א. פתרון 0 AB 0 ( 5.) 0 0.776A

Διαβάστε περισσότερα

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

( )( ) ( ) f : B C היא פונקציה חחע ועל מכיוון שהיא מוגדרת עי. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חחע אז ועל פי הגדרת הרצאה 7 יהיו :, : C פונקציות, אז : C חח"ע ו חח"ע,אז א אם על ו על,אז ב אם ( על פי הגדרת ההרכבה )( x ) = ( )( x x, כךש ) x א יהיו = ( x ) x חח"ע נקבל ש מכיוון ש חח"ע נקבל ש מכיוון ש ( b) = c כך ש b ( ) (

Διαβάστε περισσότερα

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ).

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ). מבוא לפרק: : עצים.(ree) עצים הם גרפים חסרי מעגלים. כך, כיוון פרק זה הוא מעין הפוך לשני הפרקים הקודמים. עץ יסומן לרב על ידי במשפטים 8.1-8.3 נפתח חלק מתכונותיו, ובהמשך נדון בהיבטים שונים של "עץ פורש" של

Διαβάστε περισσότερα

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1 1 טורים כלליים 1. 1 התכנסות בהחלט מתכנס. מתכנס בהחלט אם n a הגדרה.1 אומרים שהטור a n משפט 1. טור מתכנס בהחלט הוא מתכנס. הוכחה. נוכיח עם קריטריון קושי. יהי אפסילון גדול מ- 0, אז אנחנו יודעים ש- n N n>m>n

Διαβάστε περισσότερα

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t. תכנון אלגוריתמים 2016 עבודה 1 פתרון שאלה 1 נזכר כי בגרף (E G, =,V) עבור שני קודקודים d(u, (v,u, v הוא אורך מסלול קצר ביותר מ u ל v. אם אין מסלול מ u ל.d(u, v) =,v נתונות שתי בעיות. בעיה א' מופע: גרף מכוון

Διαβάστε περισσότερα

גרפים אלגוריתמים בתורת הגרפים הרצאה 1 גיא פלג 15 במרץ 2012 הגדרה: מגן דוגמאות: זוגות לא סדורים כיוון שבקבוצה סדר לא חשוב.

גרפים אלגוריתמים בתורת הגרפים הרצאה 1 גיא פלג 15 במרץ 2012 הגדרה: מגן דוגמאות: זוגות לא סדורים כיוון שבקבוצה סדר לא חשוב. אלגוריתמים בתורת הגרפים הרצאה 1 גיא פלג 15 במרץ 2012 אתר הקורס.clickit3 מרצה : בני מוניץ הציון: מבחן סופי: 80% שיעורי בית 20% ואפשרות לבוחן אמצע 20% מגן גרפים הגדרה: תהי V קבוצה סופית לא ריקה. ותהי E קבוצה

Διαβάστε περισσότερα

סדרות - תרגילים הכנה לבגרות 5 יח"ל

סדרות - תרגילים הכנה לבגרות 5 יחל סדרות - הכנה לבגרות 5 יח"ל 5 יח"ל סדרות - הכנה לבגרות איברים ראשונים בסדרה) ) S מסמן סכום תרגיל S0 S 5, S6 בסדרה הנדסית נתון: 89 מצא את האיבר הראשון של הסדרה תרגיל גוף ראשון, בשנייה הראשונה לתנועתו עבר

Διαβάστε περισσότερα

מודלים חישוביים פתרון תרגיל 5

מודלים חישוביים פתרון תרגיל 5 מודלים חישוביים פתרון תרגיל 5 כתוב אוטומט דטרמיניסטי לשפות הבאות מעל הא"ב.Σ={,} א. *Σ. q, ב. q, ג. {ε}, q, q ד. } = 3 {w w mod, q, q,, ה. ''} {w w does not contin the sustring q 4 q 3 q q כתוב אוטומט דטרמיניסטי

Διαβάστε περισσότερα

מבני נתונים ויעילות אלגוריתמים

מבני נתונים ויעילות אלגוריתמים מבני נתונים ויעילות אלגוריתמים (8..05). טענה אודות סדר גודל. log טענה: מתקיים Θ(log) (!) = הוכחה: ברור שמתקיים: 3 4... 4 4 4... 43 פעמים במילים אחרות:! נוציא לוגריתם משני האגפים: log(!) log( ) log(a b

Διαβάστε περισσότερα

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק יום א 14 : 00 15 : 00 בניין 605 חדר 103 http://u.cs.biu.ac.il/ brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק 29/11/2017 1 הגדרת קבוצת הנוסחאות הבנויות היטב באינדוקציה הגדרה : קבוצת הנוסחאות הבנויות

Διαβάστε περισσότερα

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים מבוא: קבוצות מיוחדות של מספרים ממשיים קבוצות של מספרים ממשיים צעד ראשון להצטיינות קבוצה היא אוסף של עצמים הנקראים האיברים של הקבוצה אנו נתמקד בקבוצות של מספרים ממשיים בדרך כלל מסמנים את הקבוצה באות גדולה

Διαβάστε περισσότερα

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשעד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, 635865 מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן שאלה מספר 1 נתון: 1. סדרה חשבונית שיש בה n איברים...2 3. האיבר

Διαβάστε περισσότερα

x a x n D f (iii) x n a ,Cauchy

x a x n D f (iii) x n a ,Cauchy גבולות ורציפות גבול של פונקציה בנקודה הגדרה: קבוצה אשר מכילה קטע פתוח שמכיל את a תקרא סביבה של a. קבוצה אשר מכילה קטע פתוח שמכיל את a אך לא מכילה את a עצמו תקרא סביבה מנוקבת של a. יהו a R ו f פונקציה מוגדרת

Διαβάστε περισσότερα

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור הרצאה מס' 1. תורת הקבוצות. מושגי יסוד בתורת הקבוצות.. 1.1 הקבוצה ואיברי הקבוצות. המושג קבוצה הוא מושג בסיסי במתמטיקה. אין מושגים בסיסים יותר, אשר באמצעותם הגדרתו מתאפשרת. הניסיון והאינטואיציה עוזרים להבין

Διαβάστε περισσότερα

מבני נתונים 08a תרגול 8 14/2/2008 המשך ערמות ליאור שפירא

מבני נתונים 08a תרגול 8 14/2/2008 המשך ערמות ליאור שפירא מבני נתונים 08a תרגול 8 14/2/2008 המשך ערמות ליאור שפירא ערמות פיבונאצ'י Operation Linked List Binary Heap Binomial Heap Fibonacci Heap Relaxed Heap make-heap 1 1 1 1 1 is-empty 1 1 1 1 1 insert 1 log

Διαβάστε περισσότερα

אלגברה ליניארית (1) - תרגיל 6

אלגברה ליניארית (1) - תרגיל 6 אלגברה ליניארית (1) - תרגיל 6 התרגיל להגשה עד יום חמישי (12.12.14) בשעה 16:00 בתא המתאים בבניין מתמטיקה. נא לא לשכוח פתקית סימון. 1. עבור כל אחד מתת המרחבים הבאים, מצאו בסיס ואת המימד: (א) 3)} (0, 6, 3,,

Διαβάστε περισσότερα

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים (

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים ( תכנון ניסויים כאשר קיימת אישביעות רצון מהמצב הקיים (למשל כשלים חוזרים בבקרת תהליכים סטטיסטית) נחפש דרכים לשיפור/ייעול המערכת. ניתן לבצע ניסויים על גורם בודד, שני גורמים או יותר. ניסויים עם גורם בודד: נבצע

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 5

מתמטיקה בדידה תרגול מס' 5 מתמטיקה בדידה תרגול מס' 5 נושאי התרגול: פונקציות 1 פונקציות הגדרה 1.1 פונקציה f מ A (התחום) ל B (הטווח) היא קבוצה חלקית של A B המקיימת שלכל a A קיים b B יחיד כך ש. a, b f a A.f (a) = ιb B. a, b f או, בסימון

Διαβάστε περισσότερα

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V ) הצגות של חבורות סופיות c ארזים 6 בינואר 017 1 משפט ברנסייד משפט 1.1 ברנסייד) יהיו p, q ראשוניים. תהי G חבורה מסדר.a, b 0,p a q b אזי G פתירה. הוכחה: באינדוקציה על G. אפשר להניח כי > 1 G. נבחר תת חבורה

Διαβάστε περισσότερα

אלגוריתמים בתורת הגרפים חלק רביעי

אלגוריתמים בתורת הגרפים חלק רביעי גירסה 00 232003 אלגוריתמים בתורת הגרפים חלק רביעי מסמך זה הינו הרביעי בסדרת מסמכים אודות תורת הגרפים, והוא חופף בחלקו לקורס "אלגוריתמים בתורת הגרפים" בטכניון (שאינו מועבר יותר) ברצוני להודות תודה מיוחדת

Διαβάστε περισσότερα

תורישק :תורישקה תייעבב בוש ןייענ?t- t ל s- s מ לולסמ שי םאה 2

תורישק :תורישקה תייעבב בוש ןייענ?t- t ל s- s מ לולסמ שי םאה 2 סריקה לעומק רכיבים אי-פריקים רכיבים קשירים היטב מיון טופולוגי פרק 3 ב- Kleinberg/Tardos פרק 3.3-5 ב- al Cormen et קשירות נעיין שוב בבעיית הקשירות: ל- t? האם יש מסלול מ- s קשירות נעיין שוב בבעיית הקשירות:

Διαβάστε περισσότερα

אלגברה לינארית (1) - פתרון תרגיל 11

אלגברה לינארית (1) - פתרון תרגיל 11 אלגברה לינארית ( - פתרון תרגיל דרגו את המטריצות הבאות לפי אלגוריתם הדירוג של גאוס (א R R4 R R4 R=R+R R 3=R 3+R R=R+R R 3=R 3+R 9 4 3 7 (ב 9 4 3 7 7 4 3 9 4 3 4 R 3 R R3=R3 R R 4=R 4 R 7 4 3 9 7 4 3 8 6

Διαβάστε περισσότερα

אלגברה מודרנית פתרון שיעורי בית 6

אלגברה מודרנית פתרון שיעורי בית 6 אלגברה מודרנית פתרון שיעורי בית 6 15 בינואר 016 1. יהי F שדה ויהיו q(x) p(x), שני פולינומים מעל F. מצאו פולינומים R(x) S(x), כך שמתקיים R(x),p(x) = S(x)q(x) + כאשר deg(q),deg(r) < עבור המקרים הבאים: (תזכורת:

Διαβάστε περισσότερα

תכנון דינאמי. , p p p והמטריצה המתקבלת היא בגודל

תכנון דינאמי. , p p p והמטריצה המתקבלת היא בגודל תכנון אלגוריתמים, אביב, תרגול מס' תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (6..(CLR ראשית נראה דוגמא:. A, A, A, A נסמן את גודל המטריצות בסדרה ע"י סדרת גדלים כאשר, p 5 5 p היא

Διαβάστε περισσότερα

אלגוריתמים סמסטר א' תשע"ב מרצים: פרופ' עמוס פיאט ופרופ' מיכה שריר. מתרגלים: שי ורדי ואדם שפר.

אלגוריתמים סמסטר א' תשעב מרצים: פרופ' עמוס פיאט ופרופ' מיכה שריר. מתרגלים: שי ורדי ואדם שפר. אלגוריתמים סמסטר א' תשע"ב מרצים: פרופ' עמוס פיאט ופרופ' מיכה שריר. מתרגלים: שי ורדי ואדם שפר. תוכן הקורס מבוא: גרפים: הגדרות וייצוג גרפים במחשב. שימושים לגרפים. עצים, יערות ותכונותיהם הבסיסיות חזרה. גרפי

Διαβάστε περισσότερα

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה.

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה. בחינת סיווג במתמטיקה.9.017 פתרונות.1 סדרת מספרים ממשיים } n {a נקראת מונוטונית עולה אם לכל n 1 מתקיים n+1.a n a האם הסדרה {n a} n = n היא מונוטונית עולה? הוכיחו תשובתכם. הסדרה } n a} היא אכן מונוטונית

Διαβάστε περισσότερα

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשעב זהויות טריגונומטריות תרגול חזרה זהויות טריגונומטריות si π α) si α π α) α si π π ), Z si α π α) t α cot π α) t α si α cot α α α si α si α + α siα ± β) si α β ± α si β α ± β) α β si α si β si α si α α α α si α si α α α + α si

Διαβάστε περισσότερα

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx דפי נוסחאות I גבולות נאמר כי כך שלכל δ קיים > ε לכל > lim ( ) L המקיים ( ) מתקיים L < ε הגדרת הגבול : < < δ lim ( ) lim ורק ( ) משפט הכריך (סנדוויץ') : תהיינה ( ( ( )g ( )h פונקציות המוגדרות בסביבה נקובה

Διαβάστε περισσότερα

מודלים חישוביים תרגולמס 5

מודלים חישוביים תרגולמס 5 מודלים חישוביים תרגולמס 5 30 במרץ 2016 נושאי התרגול: דקדוקים חסרי הקשר. למת הניפוח לשפות חסרות הקשר. פעולות סגור לשפות חסרות הקשר. 1 דקדוקים חסרי הקשר נזכיר כי דקדוק חסר הקשר הוא רביעיה =(V,Σ,R,S) G, כך

Διαβάστε περισσότερα

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם. 7.8.2017 מבחן מועד ב' תאריך הבחינה: שמות המרצים: מר בועז ארד פרופ' עמוס ביימל מר יהונתן כהן דר' עדן כלמטץ' גב' מיכל שמש אנא קיראו היטב את ההוראות שלהלן: שם הקורס: תכנון אלגוריתמים מספר הקורס: 202-1-2041

Διαβάστε περισσότερα

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה. פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה. 16 במאי 2010 נסמן את מחלקת הצמידות של איבר בחבורה G על ידי } g.[] { y : g G, y g כעת נניח כי [y] [] עבור שני איברים, y G ונוכיח כי [y].[] מאחר והחיתוך

Διαβάστε περισσότερα

co ארזים 3 במרץ 2016

co ארזים 3 במרץ 2016 אלגברה לינארית 2 א co ארזים 3 במרץ 2016 ניזכר שהגדרנו ווקטורים וערכים עצמיים של מטריצות, והראינו כי זהו מקרה פרטי של ההגדרות עבור טרנספורמציות. לכן כל המשפטים והמסקנות שהוכחנו לגבי טרנספורמציות תקפים גם

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 12

מתמטיקה בדידה תרגול מס' 12 מתמטיקה בדידה תרגול מס' 2 נושאי התרגול: נוסחאות נסיגה נוסחאות נסיגה באמצעות פונקציות יוצרות נוסחאות נסיגה באמצעות פולינום אופייני נוסחאות נסיגה לעתים מפורש לבעיה קומבינטורית אינו ידוע, אך יחסית קל להגיע

Διαβάστε περισσότερα

אינפי - 1 תרגול בינואר 2012

אינפי - 1 תרגול בינואר 2012 אינפי - תרגול 4 3 בינואר 0 רציפות במידה שווה הגדרה. נאמר שפונקציה f : D R היא רציפה במידה שווה אם לכל > 0 ε קיים. f(x) f(y) < ε אז x y < δ אם,x, y D כך שלכל δ > 0 נביט במקרה בו D הוא קטע (חסום או לא חסום,

Διαβάστε περισσότερα

רשימת בעיות בסיבוכיות

רשימת בעיות בסיבוכיות ב) ב) רשימת בעיות בסיבוכיות כל בעיה מופיעה במחלקה הגדולה ביותר שידוע בוודאות שהיא נמצאת בה, אלא אם כן מצוין אחרת. כמובן שבעיות ב- L נמצאות גם ב- וב- SACE למשל, אבל אם תכתבו את זה כתשובה במבחן לא תקבלו

Διαβάστε περισσότερα

תרגיל 7 פונקציות טריגונומטריות הערות

תרגיל 7 פונקציות טריגונומטריות הערות תרגיל 7 פונקציות טריגונומטריות הערות. פתרו את המשוואות הבאות. לא מספיק למצוא פתרון אחד יש למצוא את כולם! sin ( π (א) = x sin (ב) = x cos (ג) = x tan (ד) = x) (ה) = tan x (ו) = 0 x sin (x) + sin (ז) 3 =

Διαβάστε περισσότερα

מבני נתונים (234218) 1

מבני נתונים (234218) 1 מבני נתונים (234218) 1 חומר עזר לבחינה 13 בספטמבר 2016 שימו לב: מותר לצטט טענות המופיעות בדף זה ללא הוכחה. כל טענה אחרת, שאינה מופיעה באופן מפורש, יש לנמק באופן מלא. נימוקים מהצורה "בדומה לטענה שבחומר

Διαβάστε περισσότερα

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית: משפט הדיברגנץ תחום חסום וסגור בעל שפה חלקה למדי, ותהי F פו' וקטורית :F, R n R n אזי: div(f ) dxdy = F, n dr נוסחת גרין I: uδv dxdy = u v n dr u, v dxdy הוכחה: F = (u v v, u x y ) F = u v כאשר u פו' סקלרית:

Διαβάστε περισσότερα

תרגול מס' 1 3 בנובמבר 2012

תרגול מס' 1 3 בנובמבר 2012 תרגול מס' 1 3 בנובמבר 2012 1 מערכת המספרים השלמים בשיעור הקרוב אנו נעסוק בקבוצת המספרים השלמים Z עם הפעולות (+) ו ( ), ויחס סדר (>) או ( ). כל התכונות הרגילות והידועות של השלמים מתקיימות: חוק הקיבוץ (אסוציאטיביות),

Διαβάστε περισσότερα

אלגוריתמים 1, סמסטר אביב 2017

אלגוריתמים 1, סמסטר אביב 2017 BFS, DFS, Topological Sort תרגיל בית 1 מוסכמות והנחות להלן רשימת הנחות ומוסכמות אשר תקפות לכל השאלות, אלא אם כן נכתב אחרת במפורש בגוף השאלה. עליכם להוכיח נכונות ולנתח סיבוכיות עבור כל אלגוריתם מוצע. במידה

Διαβάστε περισσότερα

אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:

אוטומט סופי דטרמיניסטי מוגדר עי החמישייה: 2 תרגול אוטומט סופי דטרמיניסטי אוטומטים ושפות פורמליות בר אילן תשעז 2017 עקיבא קליינרמן הגדרה אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה: (,, 0,, ) כאשר: א= "ב שפת הקלט = קבוצה סופית לא ריקה של מצבים מצב

Διαβάστε περισσότερα

חידה לחימום. כתבו תכנית שהקלט שלה הוא מספר שלם n,

חידה לחימום. כתבו תכנית שהקלט שלה הוא מספר שלם n, חידה לחימום נתון פיגום משולש של מוטות המחברים קודקודים ויוצרים קומות של משולשים קטנים, כמודגם באיור הבא, בו מתואר פיגום משולש בן שתי קומות: משימתו של פועל העובד בפיגום היא להתקדם מן הקודקוד השמאלי התחתון

Διαβάστε περισσότερα

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015)

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015) מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015) מרצה: פרופ' בני שור מתרגלים: אורית מוסקוביץ' וגל רותם 28.1.2015 הנחיות: 1. מומלץ לקרוא את כל ההנחיות והשאלות בתחילת המבחן, לפני כתיבת התשובות. 2. משך

Διαβάστε περισσότερα

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות 25 בדצמבר 2016 תזכורת: תהי ) n f ( 1, 2,..., פונקציה המוגדרת בסביבה של f. 0 גזירה חלקית לפי משתנה ) ( = 0, אם קיים הגבול : 1 0, 2 0,..., בנקודה n 0 i f(,..,n,).lim

Διαβάστε περισσότερα

השאלות..h(k) = k mod m

השאלות..h(k) = k mod m מבני נתונים פתרונות לסט שאלות דומה לשאלות מתרגיל 5 השאלות 2. נתונה טבלת ערבול שבה התנגשויות נפתרות בשיטת.Open Addressing הכניסו לטבלה את המפתחות הבאים: 59 88, 17, 28, 15, 4, 31, 22, 10, (מימין לשמאל),

Διαβάστε περισσότερα

תוכן עניינים I בעיות מיון 2 1 סימון אסימפטוטי... 2 II מבני נתונים 20 8 מבני נתונים מופשטים משפט האב גרפים... 37

תוכן עניינים I בעיות מיון 2 1 סימון אסימפטוטי... 2 II מבני נתונים 20 8 מבני נתונים מופשטים משפט האב גרפים... 37 תוכן עניינים I בעיות מיון 2 1 סימון אסימפטוטי................................................ 2 2 מיון בועות. Bubble Sort............................................ 2 3 מיון מיזוג. Merge Sort............................................

Διαβάστε περισσότερα

מבני נתונים אדמיניסטרציה ד"ר אלכס סמורודניצקי, רוס 210, שני 5:30 4:15. ציון:

מבני נתונים אדמיניסטרציה דר אלכס סמורודניצקי, רוס 210, שני 5:30 4:15. ציון: מבני נתונים בס"ד, ט' אדר א' תשע"א: שעור 1 אדמיניסטרציה ד"ר אלכס סמורודניצקי, רוס 210, שני 5:30 4:15. ציון: בחינת מגן 20%. תרגילים: 14 13, מורידים את האחד הכי גרוע. 10% מהציון. אתר: www.cs.huji.ac.il/~dast

Διαβάστε περισσότερα

מצולעים מצולעהוא צורה דו ממדית,עשויה קו"שבור"סגור. לדוגמה: משולש, מרובע, מחומש, משושה וכו'. לדוגמה:בסרטוט שלפappleיכם EC אלכסוןבמצולע.

מצולעים מצולעהוא צורה דו ממדית,עשויה קושבורסגור. לדוגמה: משולש, מרובע, מחומש, משושה וכו'. לדוגמה:בסרטוט שלפappleיכם EC אלכסוןבמצולע. גיאומטריה מצולעים מצולעים מצולעהוא צורה דו ממדית,עשויה קו"שבור"סגור. לדוגמה: משולש, מרובע, מחומש, משושה וכו'. אלכסון במצולע הוא הקו המחבר בין שappleי קדקודים שאיappleם סמוכים זה לזה. לדוגמה:בסרטוט שלפappleיכם

Διαβάστε περισσότερα

סיכום- בעיות מינימוםמקסימום - שאלון 806

סיכום- בעיות מינימוםמקסימום - שאלון 806 סיכום- בעיות מינימוםמקסימום - שאלון 806 בבעיותמינימום מקסימוםישלחפשאתנקודותהמינימוםהמוחלטוהמקסימוםהמוחלט. בשאלות מינימוםמקסימוםחובהלהראותבעזרתטבלה אובעזרתנגזרתשנייהשאכן מדובר עלמינימוםאומקסימום. לצורךקיצורהתהליך,

Διαβάστε περισσότερα

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 5 שנכתב על-ידי מאיר בכור. חקירת משוואה מהמעלה הראשונה עם נעלם אחד = הצורה הנורמלית של המשוואה, אליה יש להגיע, היא: b

Διαβάστε περισσότερα

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p; מבני נתונים פתרונות לסט שאלות דומה לשאלות בנושאים () זמני ריצה של פונקציות רקורסיביות () מיונים השאלות פתרו את נוסחאות הנסיגה בסעיפים א-ג על ידי הצבה חוזרת T() כאשר = T() = T( ) + log T() = T() כאשר =

Διαβάστε περισσότερα

אלגברה ליניארית 1 א' פתרון 2

אלגברה ליניארית 1 א' פתרון 2 אלגברה ליניארית א' פתרון 3 4 3 3 7 9 3. נשתמש בכתיבה בעזרת מטריצה בכל הסעיפים. א. פתרון: 3 3 3 3 3 3 9 אז ישנו פתרון יחיד והוא = 3.x =, x =, x 3 3 הערה: אפשר גם לפתור בדרך קצת יותר ארוכה, אבל מבלי להתעסק

Διαβάστε περισσότερα

מבני נתונים ואלגוריתמים תרגול #3 נושאים: תור קדימויות/ערימה, עצים

מבני נתונים ואלגוריתמים תרגול #3 נושאים: תור קדימויות/ערימה, עצים מבני נתונים ואלגוריתמים תרגול #3 נושאים: תור קדימויות/ערימה, עצים חזרה מבנה נתונים אמצעי לאחסון נתונים במחשב. יש הרבה סוגים שונים, וצריך להשתמש במבנה שהכי מתאים לבעיה שלנו מבחינת שימוש בנתונים הוספה, מחיקה

Διαβάστε περισσότερα

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME הנדסת המישור - תרגילים הכנה לבגרות תרגילים הנדסת המישור - תרגילים הכנה לבגרות באמצעות Q תרגיל 1 מעגל העובר דרך הקודקודים ו- של המקבילית ו- חותך את האלכסונים שלה בנקודות (ראה ציור) מונחות על,,, הוכח כי

Διαβάστε περισσότερα

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A ) הסתברות למתמטיקאים c ארזים 3 במאי 2017 1 תוחלת מותנה הגדרה 1.1 לכל משתנה מקרי X אינטגרבילית ותת סיגמא אלגברה G F קיים משתנה מקרי G) Y := E (X המקיים: E (X1 A ) = E (Y 1 A ).G מדיד לפי Y.1.E Y

Διαβάστε περισσότερα

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. א{ www.sikumuna.co.il מהי קבוצה? קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. קבוצה היא מושג יסודי במתמטיקה.התיאור האינטואיטיבי של קבוצה הוא אוסף של עצמים כלשהם. העצמים הנמצאים בקבוצה הם איברי הקבוצה.

Διαβάστε περισσότερα

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r ל' ' פונקציות פרימיטיביות רקורסיביות חישוביות הרצאה 4 האם כל פונקציה מלאה היא פרימיטיבית רקורסיבית? לא נראה שתי הוכחות: פונקציות רקורסיביות (המשך) זיהוי שפות ע''י מכונות טיורינג הוכחה קיומית: קיימות פונקציות

Διαβάστε περισσότερα

עצי 2-3 תזכורת: בנים. דוגמאות: Chapter 19: B trees ( ) Chapter 15: Augmenting data structures ( )

עצי 2-3 תזכורת: בנים. דוגמאות: Chapter 19: B trees ( ) Chapter 15: Augmenting data structures ( ) עצים מאוזנים Lecture 5 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds תזכורת: משפחת עצים נקראת מאוזנת אם ( h. = (log עצי -3 ועצי דרגות עצי AVL הם עצים מאוזנים. עצי 3- מהווים דוגמא

Διαβάστε περισσότερα

מבני נתונים עצים שיעור 7

מבני נתונים עצים שיעור 7 בס ד מבני נתונים עצים שיעור 7 שי גולן כ ח בניסן, תשע ו 6 במאי 2016 תקציר בתרגול זה נתחיל לדון בעצים. נגדיר עצים כלליים ועצים בינאריים, ונציג את ההגדרות הבסיסיות בתחום. נתרגל הוכחת תכונות של עצים באמצעות

Διαβάστε περισσότερα

CHAIN MATRIX MULTIPLICATION וגיא בן-חורין

CHAIN MATRIX MULTIPLICATION וגיא בן-חורין CHAIN MATRIX MULTIPLICATION פנוש אורי וגיא בן-חורין CHAIN MATRIX MULTIPLICATION חזרה קצרה על הכפלת מטריצות הגדרת בעיית הכפלת שרשרת מטריצות פתרון רקורסיבי לבעיה ייעול הפתרון הרקורסיבי ע"י memoization הצגת

Διαβάστε περισσότερα

3-9 - a < x < a, a < x < a

3-9 - a < x < a, a < x < a 1 עמוד 59, שאלהמס', 4 סעיףג' תיקוני הקלדה שאלון 806 צריך להיות : ג. מצאאתמקומושלאיברבסדרהזו, שקטןב- 5 מסכוםכלהאיבריםשלפניו. עמוד 147, שאלהמס' 45 ישלמחוקאתהשאלה (מופיעהפעמיים) עמוד 184, שאלהמס', 9 סעיףב',תשובה.

Διαβάστε περισσότερα

רשימת משפטים והגדרות

רשימת משפטים והגדרות רשימת משפטים והגדרות חשבון אינפיניטיסימאלי ב' מרצה : למברג דן 1 פונקציה קדומה ואינטגרל לא מסויים הגדרה 1.1. (פונקציה קדומה) יהי f :,] [b R פונקציה. פונקציה F נקראת פונקציה קדומה של f אם.[, b] גזירה ב F

Διαβάστε περισσότερα

s ק"מ קמ"ש מ - A A מ - מ - 5 p vp v=

s קמ קמש מ - A A מ - מ - 5 p vp v= את זמני הליכת הולכי הרגל עד הפגישות שלהם עם רוכב האופניים (שעות). בגרות ע מאי 0 מועד קיץ מבוטל שאלון 5006 מהירות - v קמ"ש t, א. () נסמן ב- p נכניס את הנתונים לטבלה מתאימה: רוכב אופניים עד הפגישה זמן -

Διαβάστε περισσότερα

מיון. 1 מיון ערימה (Heapsort) חלק I 1.1 הגדרת ערימה 0.1 הגדרה של המושג מיון מסקנה: הערך הכי גבוה בערימה נמצא בשורש העץ!

מיון. 1 מיון ערימה (Heapsort) חלק I 1.1 הגדרת ערימה 0.1 הגדרה של המושג מיון מסקנה: הערך הכי גבוה בערימה נמצא בשורש העץ! מיון ערימה (Heapsort) מבני נתונים חלק I מיון מבני נתונים ד"ר ערן לונדון. הגדרת ערימה ערימה (בינארית) הינה מערך אשר ניתן להציגו כמו עץ בינארי מלא או כמעט מלא כאשר כל קודקוד בעץ מתאים לתא במערך. העץ הינו

Διαβάστε περισσότερα

1 סכום ישר של תת מרחבים

1 סכום ישר של תת מרחבים אלמה רופיסה :הצירטמ לש ןדרו'ג תרוצ O O O O O O ןאבצ זעוב סכום ישר של תת מרחבים פרק זה כולל טענות אלמנטריות, שהוכחתן מושארת לקורא כתרגיל הגדרה: יהיו V מרחב וקטורי, U,, U k V תת מרחבים הסכום W U + U 2 +

Διαβάστε περισσότερα

התפלגות χ: Analyze. Non parametric test

התפלגות χ: Analyze. Non parametric test מבחני חי בריבוע לבדיקת טיב התאמה דוגמא: זורקים קוביה 300 פעמים. להלן התוצאות שהתקבלו: 6 5 4 3 2 1 תוצאה 41 66 45 56 49 43 שכיחות 2 התפלגות χ: 0.15 התפלגות חי בריבוע עבור דרגות חופש שונות 0.12 0.09 0.06

Διαβάστε περισσότερα